Skip to main content

Full text of "CBM 8-Bit Magazine Index: Compute's Gazette Special Section"

See other formats


64/128 VIEW 


So why does a 


professor of electronic engineering 
still use a 64 in his office? 


Tom Netsel 


hil Hoff is a professor of 
electronic engineering 
at California State Uni- 
versity in Chico. He 
wrote me recently to say 
that although the school pro- 
vides him with a 33-MHz 
486 PC, he still uses a 64 in 
his office. This fact has 
been a source of some puz- 
zlement to his students. 

Hoff also serves as the fac- 
ulty adviser to Eta Kappa 
Nu, the national honorary so- 
ciety for electrical engi- 
neers. On fliers urging soci- 
ety members to attend a 
campus meeting, someone 
added the following teaser: 
“Maybe we can find out why 
Hoff still uses a Commodore 
64.” 

Hoff saw the flier and 
went to the meeting pre- 
pared. Here's his reply that 
he wrote and gave to the stu- 
dents. It's been edited slight- 
ly for space reuirements, 

“First things first. | don't 
use just the 64, | use a PC 
for all the things that the 64 
can't do and for some 
things that a PC just does 
better. But the 64 still sees 
plenty of use. 

“Speed. My PC takes 37 
seconds to boot (without vi- 
rus checking, which will 
soon be added and will 
lengthen boot time). My 64 
takes two seconds. | often 
have little programs to write 
that might take five lines of 
BASIC. On the 64, they're 
up and running before the 
PC finishes booting. 

“Viruses. The problem is 
nonexistent on the 64. Can 
you say the same for your 
computer? 

“Editing. Loading an editor 
to edit a file or program is ab- 
surd. Give me a cursor on a 
64, and | can edit. Its editor 
is powerful and intuitive. 


“DOSlessness. | put 
DOS, UNIX, and C in one 
bag. Granted, they are in de- 
mand in industry, but any- 
body who says he loves 
them should be a computer 
engineer. The only way | 
can navigate in DOS is to 
keep a book of what joking- 
ly is called its syntax at my 
computer desk. No such 
problems with the 64. 

“Continuity. | have lots of 
programs that I've written for 
the 64 to perform things | 
commonly need. There's no 
way I'm going to take the 
time to convert them to 
some PC BASIC (although | 
do admire QuickBASIC). 

“Hardware cost. The sys- 
tem | have now is a 128 and 
a dual mode color monitor. 
This system was bought 
used for $200. Commodore 
still sells about a million a 
year. That's more than 10 mil- 
lion in all. Total sales of PCs 
and clones are just over 20 
million. Macs? Eat your 
heart out—maybe 2 million. 

“Software cost. | consider 
pirating of software immoral. 
| will not do it. | also consid- 
er paying $200.00 for a 
word processor to be immor- 
al and stupid. | will not do it. 
My word processor cost me 
$10.95 and is quite satisfac- 
tory. I've never paid more 
than $25.00 for a piece of 
64 software. PC software is 
outrageously priced and out- 
dated before you learn to 
use it. Any good software 
for the PC is usually share- 
ware. | believe in the share- 
ware concept. If | use a pro- 
gram consistently, | pay for 
it. But for the 64, lots of 
good software is PD and 
therefore is free.” 

Thanks for writing, Profes- 
sor. | hope your students prac- 
tice what you preach. a] 


GAZETTE 


64/128 VIEW G-1 
Why the professor still uses a 64. By Tom Netsel. 

AS THE DISK SPINS G-2 
Find out what's really on your disks. 

By Henning Vahlenkamp. 

REVIEWS 6-8 
GeoShell and Help Master 64. 

FEEDBACK G-12 
Questions, answers, and comments. 

WORLD VIEW G-14 
The Commodore scene in Venezuela. 

By Edwin P. Krisch Stark. 

PD PICKS G-15 
Stereo SID Player and DigiPlayer. 

By Steve Vander Ark. 

BEGINNER BASIC G-16 
Saving information to disk. By Larry Cotton. 
MACHINE LANGUAGE G-18 
What the asterisk means. By Jim Butterfield. 
PROGRAMMER’S PAGE G-20 
What it takes to program other computers. 

By Randy Thompson. 

GEOS G-22 
The plot to save GEOS and the 64. 

By Steve Vander Ark. 

D’IVERSIONS G-24 
Into a digital black hole. By Fred D'Ignazio. 
PROGRAMS 

Coins (64) G-25 
Name Machine (64) G-28 
Megamorph (64) G-31 
Menu Maker (64) G-34 
Redi-Riter 128 G-35 
Double Dub 1541 (64) G-36 
Explorer 64 G-37 


OCTOBER 1993 COMPUTE G-1 


users and for some intermediate users is 

Commodore's disk structure and format. This article 
will attempt to shed some light on disk organization down to 
the most basic level. I’m not going to discuss disk com- 
mands, but rather DOS, track and sector layout, block com- 
position, and group code recording (GCR) fundamentals. 

We'll concern ourselves 
with the three current 
Commodore disk drives: 
1541, 1571, and 1581. For 
all practical purposes, each 
drive organizes its disks in 
a similar way with the 
exception of the number of 
sectors and location of the 
directory track (more on 
these differences later). 

Before we get into look- 
ing at the disks themselves, 
let’s take a look at some of 
the developments in 
computers that led us to 
where we are today. We'll 
begin with the disk oper- 
ating system, known more 
commonly and simply as 
DOS. Everything regarding 
a disk's structure is deter- 
mined by this operating 
system that's located in a 
ROM chip inside the disk 
drive. Since DOS is so vital, 
you might wonder how it 
came about. 

It all started more than 
ten years ago with Commodore's introduction of the 4040 
dual drive for the PET 4016 computer. This drive was an 
upgraded version of the 2040 and 3040 drives that had 
been used in earlier PET models. 


O: of the most confusing subjects for beginning 


Single Drives 

Then, in 1981, along came the 1540 drive for the newly 
released VIC-20. Commodore assumed most users would 
prefer an inexpensive tape drive to store data and pro- 
grams, so it didn't want to invest a lot of research and 
development funds in a new operating system for home 
users, In an effort to keep costs down, Commodore adapt- 
ed the 4040's DOS to this single drive. While the 4040 was 
equipped with a parallel IEEE-488 bus that sped informa- 
tion along eight bits (one byte) at a time, the 1540 got a ser- 
ial bus that restricted data to a snail's pace of one bit at a 
time. Now we can see why Commodore disk drives aren't 
exactly speed demons unless we employ an external fast- 
loader. The exception is a 1571 or 1581 attached to a 128. 


The 0 used with many disk 
commands (NO: DISK NAME, 
ID, for example) is a holdover 
from the dual drive 4040 days 
when one drive was designat- 


Two years later, Commodore released the 1541 for its 
new Commodore 64 computer. This drive was a slightly 
modified 1540. When Commodore developed the 1571 for 
the 128 and then the 1581, it continued with the tradition of 
modifying and adapting its existing DOS. 

In addition to a faster parallel bus, the old 4040 had two 
processors, one for disk management and the other for 
drive control. Its DOS was 
intended for this dual-proces- 
sor scheme, but Commodore 
modified it for a single proces- 
sor in future drives. 

As a result, the current DOS 
spends a lot of time reminding 
itself that it's working with only 
one processor. Since up- 
grades were merely new code 
tacked on to old, DOS has be- 
come bloated and inefficient. 


ed drive 0 and the other was 
drive 1. The O is optional with 
a 1541, but its use does en- 
sure the most reliable opera- 
tion. See table 1 for more 
information about DOS ver- 
sions used in different Com- 
modore drives. 

All isn't as bad as it seems. 
Commodore did learn a few 
lessons with the 1581. Its DOS 
was greatly optimized as 
shown by the tremendous amount of unused space in its 
ROM chip. Thus the 1581 is more efficient than either the 
1541 or 1571. In addition, various fastloading devices can 
speed things up considerably by using their own disk man- 
agement and loading routines instead of relying on those 
used in the drive that were supplied by Commodore. 


Disk Basics 

Before going into specifics, let's take a look at disks and 
drives in general. A floppy disk is a thin, circular piece of 
plastic material encased in a protective jacket. Generally, 
this plastic is covered with a magnetic film of nickel alloy. 
Initially, the magnetic particles in this film are arranged in a 
random fashion, but formatting the disk organizes or polar- 
izes them in a way that the drive can understand. 

Data is read from and written to a disk by the drive's 
read/write head, which is moved back and forth across the 
disk by a motor. If you look at a floppy, you'll notice an oval 
slot approximately one inch long. This opening is where the 


BY HENNING VAHLENKAMP 


head accesses the spinning disk. 

The head contains a piece of iron 
with a coil of wire wrapped around it. 
In order to write information to a disk, 
a small current is passed through the 
coil, turning it into an electromagnet. 
The resulting magnetism changes the 
polarity of the particles on the area of 
the disk below the head. The direction 
of the current and its duration deter- 
mine how the particles are aligned. All 
data on a disk is represented by the 
positions of these particles. 

As the magnetic particles on the 
disk spin beneath the drive's read head 
at 300 rpm, they generate a small elec- 
tric current. This current is analyzed by 
the drive and is converted into data 
which then is sent to the computer. 


Disk Format 

As mentioned previously, all Commo- 
dore drives have a similar disk format. 
Figure 1 represents a disk formatted 
on a 1541, On this 5'-inch disk, there 
are 35 concentric circles called 
tracks, Track 1 is the outermost, and 
track 35 the innermost. The disk's 
directory is located on track 18. 

Each track is composed of a vary- 
ing number of 256-byte sectors. The 
actual number depends on the track's 
circumference. The larger outer tracks 
contain 21 sectors, while the number 
drops to 17 for the inner tracks. See 
figure 1 again. 

The 1541 has one read/write head, 
so it uses just one side of a disk. The 
1571 has two heads, so it utilizes both 
sides of a disk. Side 0 contains tracks 
1-35, and side 1 has tracks 36-70. 
The index or timing hole tells a drive 
where each sector is by timing how 
long it takes for a disk to revolve. This 
hole is not used on Commodore disks. 


Something Different 
A 1581 3%-inch disk is somewhat un- 
usual compared to its 5'-inch siblings. 
The 1581, which was developed from 
the Amiga disk drive, uses an Amiga- 
style MFM (Modified Frequency Mod- 
ulation) format rather than Commo- 
dore's GCR. MFM sees the disk as 
double sided with 80 tracks per side 
with ten 512-byte sectors per track. 

In order to make the 1581 compati- 
ble with the other drives, Commodore 


hub ring 


track 1 


track 18 
(directory) _ 


index hole ~~ 


altered the MFM physical format by 
creating a logical disk format that is 
single sided with 80 tracks and 40 
256-byte sectors per track. Track 40 
contains the directory. You don't have 
to worry about the physical format 
since all DOS operations use the logi- 
cal one. Conversion between them is 
performed automatically during every 
disk access. 


Table 1 
Disk Drive Geneaology 

Year DOS 
Drive Introduced Version 
4040 1979 24 
1540 1982 2.5 
1541 1983 2.6 
1571 1985 3.0 
1541C 1986 2.6 
1581 1987 10.0 
1571 1987 3.4 
15411 1988 2.6 


There are other MFM formats, how- 
ever, including MS-DOS and numerous 
versions of CP/M. The 1571 can recog- 
nize and read some of these formats. 
With the proper program, you can write 
to MFM disks with a 1571 drive. 


The Directory 

Every disk requires a way to keep 
track of filenames, their locations, their 
sizes, and so on. The directory han- 
dles these chores and more, making it 
easy for users to deal with files. The 


Figure 2-A BAM Eniry 


1= free 


Be Sectors in Track 
blocks | 01234567 |89101112131415| 16171819 20 21 22 23| 24252627 28 29.3031] 323334 35 36 37 3839 
$15 111111111111111111111111000l000000001l00000000 
byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 

0 =allocated ~— 1581 only! 


G-4 COMPUTE OCTOBER 1993 


Figure 1—A 1541 Disk 


TRACKS SECTORS 


1317 0-20 (21) 
18324 0-18 (19) 
25-30 0-17 (18) 
31335 0-16 (17) 

=~ one block 


directory is so important that it has its 
own track: 18 on a 1541 and 1571 
and 40 ona 1581. 

On a 1541 or 1571 disk, sector 0 of 
track 18 contains the BAM (Block Allo- 
cation Map) and all general disk infor- 
mation, while sectors 1-18 contain the 
filenames and related file information. 
The 1581 uses sectors 0-2 for disk in- 
formation and sectors 3-39 for the file- 
names and their attributes. Each file 
sector can have up to eight file 
entries, which explains why there is a 
144-file limit on 1541 and 1571 disks 
and a 296-file limit on 1581 disks. 

The reference manual that comes 
with a disk drive explains the layout of 
a file entry, so | won't cover it here. It 
also details the disk information in the 
first few sectors of the directory track. 
The one thing not clearly explained is 
how the BAM is organized. 

The BAM is a table that shows the 
drive which sectors on the disk are free 
and which have been allocated. This is 
necessary to prevent data already on 
the disk from being overwritten. 

Figure 2 shows a typical BAM 
entry. With a 1541 or 1571 disk, four 
bytes represent the sector allocation 
of a track; a 1581 BAM entry uses six 
bytes. Each track is represented in 
the table by one entry, with the first 
byte indicating the number of free 
sectors in that track. 

The remaining bytes are broken 
down into bits, with each bit 
representing a sector. If the bit is 0, 
then that sector is allocated; if it's 1, 
the sector is free. On a 1541 or 1571 
disk, the last three bits of byte 4 are 
always 0, and they can be disregard- 
ed since the largest number of possi- 
ble sectors is 20. 


Blocks 

Block and sector are two terms used 
interchangeably by most Commodore 
users to refer to the 256 bytes of data 
that comprise the fundamental unit of 
storage on a disk. For all practical 


SOFTWARE SUPPORT 


INTERNATIONAL 
We Stock America's Largest Selection Of C-64/C-128 


Thousands of Commodore Owners Choose Us 
As Their One Stop Supplier . Here's Why! 

* Largest Selection of Commodore Software in the U.S.A.! 
After six years in business. nobody in the Commodore market 
is more committed to your Commodore than we are. We have 
well over 225,000 pieces of hard to get software in stock to 
service your every need. If you've heard of a product, odds are 
that we can locate it for you. And, we stock most major 
Commodore titles that are still in production. 


* Hardware & Peripherals. 
Although we can't get keyboards and disk drives any longer, 
we can offer disks, modems, cables, interfaces, and much 
more. 


* Used Software Selection. 
Our regular customers know how to stretch their software 
dollars shopping our Used Software Listings. 


* Un-Advertised Specials. 
Our regular customers enjoy VIP service and great bargains 
that are hard to pass up. 


* Expert Technical Support. 
As a regular Software Support customer, you have access to 
the most knowledgeable Commodore technical departments 
in the country. Of this, we're darn proud. 


* Friendly & Courteous Order Takers. 
You'll have a hard time finding order takers as anxious to help 
you as Sandy, Mike and Claressa. 


* Fast Order Processing. 
Thanks to our automated computer system, huge inventory 
and efficient shipping staff, most orders are processed the 
same day. 


* Walk In Sales Department. 
We welcome visitors to our warehouse outlet. The same great 
deals are available and best of all, no shipping charges. 


* Worldwide Distributor Of Major Products. 
Ever hear of Maverick, Super Snapshot, Super 1750 Clone, 
and the 1581 Toolkit? We've been actively involved in the 
ground up production and world-wide distribution of these 
and many other fine Commodore products. 


* Purchase From Us With Confidence. 
We were very pleased when 
the Better Business Bureau 
came to us and told us that our 
outstanding reputation quali- 
fied us as members in their or- 
ganization. We're here to stay, 
not a fly by night, here today 
and gone tomorrow outfit. 

* Extensive Catalog. 

Our contacts at other mail or- 
der companies have told us that 
producing acatalog suchas ours 
is too time consuming and worst 
of all - too expensive. We say 
it's the least we can do for our 
customers, and wouldn't have 
itany other way. Simply call or 
write for your free copy. 


Check Out These Examples... 


GAMES 
Leaderboard Golf 
Beachhead Triple Pack . 
Nord & Bert 
Ms. Pacman... 

Trump Castle Casino 
Bureaucracy 128 .. 
Defender of the Crown. 
Beyond Zork 128......... 

4 x 4 Off Road Racing 
Sega Arcade Smash Hits... 
Hardball/ Tony LaRussa . 
Jeopardy 1-2-Jr. Bundle... 


EDUCATIONAL 
Thinking Cap 
Stickybear Math 
CarmenU.S.A.. 

Typing Tutor 3 
Word Attack . 
Reader Rabbit 
Sky Travel 

Perfect Score SAT . 
Word Spinner-...... 


PRODUCTIVITY 
Super 1750 Clone . 


Certificate Maker. 

Cadpak 64 .. 

Mach 128 Cart 

Paperclip III 64/128 

Printmaster Plus..... 
1750 | Superbase 64 or 128 
NEG Video Title Shop .. 


Bumper Sticker Maker . 
Outrageous Pages... 
Bob's Term Pro 64 


Items Listed Above Do Not Include Shipping. Call Or Write For Your Free 
Catalog Listing Hundreds Of Products And Special Offers For Your 
Computer. Our Order Takers Are On Duty 6:00 a.m. - 5:00 p.m. 
M -F and 7:00 a.m. - 3:00 p.m. Sat. - Pacific Time. 


SOAPMWARE Software Support Int. 
N.E 


7. =e 2700 . Andresen Rd. 
Suite A-10 


an Vancouver, Wa 98661 
DDO] (206) 695-1393 


CALL TOLL FREE TODAY! ane 


Major Credit Cards Accepted. 


Circle Reader Service Number 190 


purposes, they are the same. To be 
precise, however, there are some 
academic differences. 

The term sector explicitly means 
those 256 bytes, the ones a user can 
examine with a sector editor. The term 
block also refers to those 256 bytes 
plus some additional information that 
is used by the drive only. A track 
actually consists of a sequence of 
blocks, not sectors. Average users 
needn't make this distinction, however. 

Figure 3 shows a typical disk block. 
Basically, a block is composed of two 
distinct parts: the header and data sec- 
tions. The header section contains gen- 
eral information about the block, while 
the data section contains the actual 
bytes of information. Note the disk ID in 
the header, All blocks receive a copy of 
the two-character ID that you specify 
when formatting the disk. 

Both the header and data sections 
begin with synchronization marks to 
help the drive locate information. Next 
are the field identifier bytes, which in- 
dicate whether a header or data sec- 
tion follows. A header is identified by 
$08 in hex in this byte, and data is in- 
dicated by $07. Each section also has 
a checksum made up of the track num- 
ber, sector number, and the two IDs. If 
the checksum is wrong, the drive rec- 
ognizes an error in that block. 

Next come two Off bytes. These 
bytes are used as padding by DOS 
when the disk is formatted. The head- 
er block uses two $0F bytes, and the 
data block uses two $00 bytes. Both 
are called Off bytes and are not used 
after formatting. 

The first two bytes in the data 
block's 256-byte storage area are 
called the forward pointers. These 
bytes point to the track and sector of 
the next block in this file. 

Finally, both blocks end with a gap, 
which is more unused space. The size 
of gap 1 is constant. This header gap is 
filled with eight $55 bytes and provides 
breathing room between the header 
and the data. The size of the intersector 
gap or tail gap varies, depending on 
the size of the track. This prevents your 
drive from accidentally overwriting the 
start of the next sector. 


GCR Simplified 

The GCR (Group Code Reading) for- 
mat of the 1541 and 1571 that | 
touched upon earlier is undoubtedly 
one of the least understood terms in 
the Commodore vocabulary. GCR, a 
broad term encompassing the track/ 
sector layout as well as the actual 
method by which data is read and writ- 
ten, dates back to the pioneer days of 
home computing. It was developed 
around 1978 for use with the 2030, 
G6 COMPUTE OCTOBER 1993 


Table 2 
Commodore GCR Tabie 
Decimal Binary | GCR Codes 
0 0000 01010 
1 0001 01011 
2 0010 10010 
3 0011 10011 
4 0100 01110 
5 0101 01111 
6 0110 10110 
7 0114 10111 
8 1000 01001 
&) 1001 11001 
10 1010 11010 
11 1011 11011 
12 1100 01101 
13 1101 11101 
14 1110 11110 
15 4414 10101 
Example: 30 decimal equals 0001 
1110 binary and 011011 11110 GCR 


Commodore's first disk drive. 

By the GCR process, an 8-bit data 
byte is split into two 4-bit nybbles. 
Each of these nybbles is then assigned 
a 5-bit GCR code. Commodore calls 
this binary to GCR converting. A binary 
nybble can be converted into any one 
of 16 different values, ranging from all 
Os to all 1s. The GCR table contains 16 
combinations. See table 2. 

When writing, the resulting 10-bit se- 
quence is stored to disk and represents 
a data byte. When reading, the process 
is reversed, and the 10-bit GCR byte is 
transformed into an 8-bit data byte 
which is then sent to the computer. Al 


16 GCR codes are stored as a table in 
the drive's ROM. Every time the disk is 
accessed, DOS performs one of these 
GCR conversions. 

The GCR process may seem tedi- 
ous and does slow down the drive, 
but the conversion does have a pur- 
pose. If five unconverted data bytes of 
value 255 (40 1 bits) were written 
directly to disk, DOS could confuse 
them with sync marks, creating chaos. 
GCR prevents this, since no combina- 
tion of the codes can produce a 
sequence of 1 bits longer than eight. 


Wrapping Up 

This article has touched on many as- 
pects of Commodore disks and drives 
that are seldom covered. As you can 
see, without your being aware of it, 
there's a complex series of events tak- 
ing place when you format and main- 
tain a disk. While much of this 
information is of little practical use to 
the average user, understanding how 
much the humble disk drive actually 
does can give you a better apprecia- 
tion of its value. 

If you're interested in exploring this 
topic further, you'll need a good sec- 
tor editor and GCR editor. I'd also 
recommend a disk utility system 
called The Maverick V5 produced by 
Kracker Jax and available from Tenex, 
Software Support International, and 
elsewhere. It has both of these hacker 
tools and a host of other powerful 
ones. For further information, you 
might also check out books such as 
The Anatomy of the 1541 by Abacus 
Software and Inside Commodore DOS 
by Reston Publishing. Q 


Figure 3—A 


Syne Mark 4 
$08 (hex) 
Checksum 1 
Sector # 
Track # 
ID 4 
ID2 
$OF 
SOF 
Gap 1 
Sync Mark 2 

Track 
Sector 
Data 
|_Checksum 2_| 
$00 
$00 
Gap 2 


Disk Block 


40 1 bits 

Header field identifier 
Sum of sector #, Track # and two IDs 
Sector # of this block 
Track # of this block 

First ID character 

Second ID character 

Off Byte (padding) 

Off Byte (padding) 

8 $55 bytes 

40 1 bits 

Data field identifier 

Track of next block 
Sector of next block 

254 bytes of data 

Sum of track, sector, data 
Off byte 

Off byte 

Variable intersector gap 


“YOUR FREE 
CATALOG 
KNOCKED MY 
SOCKS OFF” 


We get that sort of comment all the 
time. People are impressed that our 
free Consumer Information Catalog 
lists so many free and low-cost 
government booklets. There are 
more than 200 in all, containing a 
wealth of valuable information. 


They tell you how to make money, 
how to save money and how to 
invest it wisely. They tell you about 
federal benefits, housing, jobs, and 
learning activities for children. They 
fill you in on nutrition, health and 
much, much more. 


Our free Catalog will very likely 
impress you, too. But first you have 
to get it. Just send your name and 
address to: 


Consumer Information Center 
Department KO 
Pueblo, Colorado 81009 


7 Consumer 
Information 


A public service of this publication and the Consumer Information Center 
of the U. S. General Services Administration 


SBIT | 


PO BOX 542 
LINDENHURST NY 11757-0542 
WENOWCARRY | MINDSCAPE 6PACSETS 
Hard Drives & 3.5 inch Drives) POWBRPLAYERS | pp & Shareware Sets 
AT LOWER PRICES THAN JOYSTICK) 4 BIG HIT AT 
THE MANUFACTURERS! WOW ONLY $5.00 
1.6 Megabyte 3.5"..... $ 215.00 1: ASST: StarTrek? 
100 Megabyte HDD. $ 750.00 ONLY | 3: EDUCATIONAL 
$5.00 | 4:GAMES: Tetris + 
* | 5: DEMOS/MOVIES 
QUICK GUNNE 6: PRODUCTIVITY 
Joystick / Flyingstick | 7: GEOS CLIP ART 
4 seperate fire buttons | 8: RECIPES SET 


toassure your comfort! 9: UTILITIES SET 

(Trigger, Thumb, and A: CHRISTMAS - 
both left & right base.) | B: ASST: SuperMario| 
Hand Contoured Stick | C: MUSIC SET 

And 4 suction cups on | D: ART GALLERY 

the bottom of the base.| E: GEOS FILES 

for complete control! | F: F.G.M: 

For serious gamers! | G: GAMES: Mario 3 


H: HACKER PAC 
ONLY $ 15.00 | 3: HACKER PAC 


Save your Commodore ! 
ONLY $19.00 


a a ee et a 
COMMERCIAL SOFTWARE CLOSEOUTS | J: Telecommunications 
Original Packages ONLY $5.00cach! me 


SIX PAC #2$ 10.00 
PUFFY’SSAGA, PARADROID, ‘ADULT IMAGES 
BLOCEOUT, DIE HARD You must be over 18 
| CLUBHOUSE SPORTS To receive this PAC! 


WE ARE ALWAYS ADDING NEW TITLES TO | Signature Required ! 
OUR COMMERCIAL SOFTWARE STOCK! =| G#l/ fo request s more 
CALL TO SEB WHAT'S NEW THIS MONTH! | Sptive 6 PAC list 


SHIPPING $2.00 For First Item + $1.00 cach additional item 
U.S. Funds Only! “SORRY NOC.O.D.’s OR CREDIT CARD ORDERS 
FOR A FREE COPY OF OUR CATALOG, CALL: 
(516)-957-1110 MONDAY - FRIDAY 10am to 5pm EST 


Circle Reader Service Number 162 


OCTOBER HARVEST- TAKE 25x OFF THE TOTAL OF YOUR ORDER! 
Valid from Sept, 20 - Oct. 31, 1993, 
C-64 # C-128 # C-16 # Commodore +/4 Computer Software 
PSC/ Pron Shp Grph--Sd/eidoe-G/ganes-M/math-S/eci-E/Eng 
ED/educ, -CE/go0g,-UT/uti |-PR/prod-TE/te lecom--MU/aucic 
PSGraph, etafe A/3 Bik/non-C= or B/2 Bik/C= Printere! 
ee err ITEM + COST + SHIPPING & HANDLING. ..,. 
A-KJV BIBLE+PSC+ MU +6 35+4 MaBe ol par ebeenbuata 744 
B-Hol, Graphice/Mueic 7+#2 O-KJV BIBLE -- +74 30+4 
C-SMario3,Krkout,Pkr,+ S#2 P-CPakC C128-40/80 600 13+2 
0-128 Potpourri UPEGT S+2 Q-ClaseMU Bach-Havdn+ 742 
E-PLUS/4 Combo UPECT 5+2 R-PETS 347 PSC don, 10+2 
F-Bke-Inet, Activities 442 S-SPORTS 4419 PSG Mix 1042 
G-ED Pok-A MSEGE etc, 1342 T-CARTOON Char 202 PSG 5+2 
H-ED Pak-B MSEGE etc, 7047 U-COWPTR PARADE 255PSC S+2 
1-Bke Amazing C64or{28 342 V-FASTCAD Vi--Enhanced --- 
J-GPak-A SMorio II, 111 --- CAD 3,0+SupportFi loc 10+2 
Browerv+Totris Clonoe --- U-FunGraphiosachDeact 
C64/64C/C128-40/80c1 +4 SOfnt+ HiRes ScrnDap 6+2 
K-GPok-B Trachan-Outpet --- X-4544/71/81 UTL Combo 1243 
Starraider-Air Demon 9+1 Y-GEOS Programmer Man, --- 
L-Poople-SS4PSC MFCh, 8+2 and GEOS V,1,0 Doc, 8+2 
W-Diek Notcher-Now vee --- Z-KJV BIBLE for C-128 --- 
back of DD/DS dicke 341 40/80co! rder/prnter 35+4 
(> Available-JIM HEHL COLLECTION +/4 # C-16 # C-64 () 
JHOO-BibleTime+4/64 25C 6+1 JHOB-Spoll Chkre +4/64 Sei 
JHO1-+4 GPok Over 200C 30+5 JHOS-PROJECTS +4764 Sei 
JHO2-+4/64 TerninalPak 9+1 JH{O-HAM RADIO PRCS+4 Yet 
JHO3-C16 Combo 70 pros+ 4+4 JHI1-Gk Pros Ci6/+4/64 4+4 
JHOY-Superbace+4 & Doce 444 JHI2-ACE+4/E4FISim JYS 744 
JHOS-H,A,L.(updt)u/doce --- JH{3-Saboteur+4/64 Spy 744 
Speedscrpt/Asenbir+4 S44 JHI4-RugRidor+4/64 ats 
JHOB-UT##, Prate, Cores 1243 JH15-Cra, HOU EDO 8S +4 744 
JHO7-Prnted Wd/Fle,C64 S+#2 JH{6-MacPaintYu w/pice 244 


Send SASE for HEHL Collection and CLEARANCE ITEMS Info, 
$3B/1-3 $2.50 B/4-9 $1.75 B/10-19, otc, 
isk; C64/428-47p = $242 # Plue/4-18p = $244 
PYMT-WO/CK-US$/Bank-CA,+8,25% tx/item -- No coosert.trd, 
HANDLING; Bank Check/M.O,-fet and Chocke when cleared, 
S$ & H = USPS Domestic and International Rates 
TO: KFPOS/Kenneth Franklin--P,0, Box 470464 
Los Angeles, CA, 30047-0464 
We've aost of the PD Select C= Library, 
This 1¢ our year H 3! Thanke!!! 


Circle Reader Service Number 197 


REVIEWS 


GEOSHELL 


If you're a typical GEOS us- 
er, you probably don't need 
geoShell. If you use GEOS 
because it lets you manage 
your files and disks with 
such intuitive ease, then 
geoShell is not the interface 
for you. 

Oh, it will manage your 
disks and files, but this inter- 
face isn't going to hold your 
hand through the process. 
The whole desktop meta- 
phor is missing from 
geoShell. Gone is the easy- 
to-understand logic that 
gives a visual sense to your 
computing tasks. For exam- 
ple, you no longer pick up a 
file icon and drop it on the 
drive icon to copy it to that 
drive. There are no icons in 
geoShell; there's only a blink- 
ing cursor awaiting your 
typed commands. A lot of 
you should probably turn 
the page right now and for- 
get about this review. 

Still with me? Then brace 
yourself. Once you get the 
hang of using geoShell, you 
may never think of GEOS in 
the same way again. There 
are plenty of differences be- 
tween this interface and the 
deskTop. You have to mem- 
orize some commands or 
do as | do and keep the man- 
ual handy. There are no pret- 
ty little icons; geoShell uses 
a CLI or Command Line Inter- 
face. This means you con- 
trol what the computer does 
by typing in text commands. 

These commands give 
you unprecedented access 
to the workings of your 
GEOS system. It's kind of 
like the difference between 
driving a nice solid family sta- 
tion wagon or a sports car 
with a manual transmission. 
With geoShell, you can real- 
ly feel the road and control 
what's going on. The power 
lies with the fact that 
geoShell doesn’t limit you to 
G-8 COMPUTE OCTOBER 1993 


a set of choices on a menu. 
Instead, geoShell gives you 
the tools and the access 
point to affect your equip- 
ment directly. 

Here's an example of 
what I'm talking about. 
When you want to print a 
document with deskTop, 
you simply select Print from 
the file menu or drop the doc- 
ument’s icon on the printer 
icon. The system takes over 
and does whatever it needs 
to do to print that document 
as GEOS is programmed to 
do it. 

With geoShell, you can 
do the same thing by typing 
PRINT followed by the 
name of the file you want to 
print out. But you don't 
have to stop there. You can 
add various parameters to di- 
rectly address the printer 
and print out text using what- 
ever settings you care to in- 
clude. There's no way to do 
this gracefully under the 
deskTop. 

When you start up 
geoShell, your usual GEOS 
screen is replaced by a 
small 12-line window in the 
middle of the screen. You 
are also presented with a 
blinking cursor awaiting 
your input. That's it (unless 
you spice up your screen 
with the BACKPATT com- 
mand, which lets you set 
the background pattern to 
any of 32 GEOS patterns). 

If you want to take a look 
at the files on a disk, you 
have to type the directory 
command, DIR. If you want 
to run a file, you either type 
the filename and hit Return 
or list the directory, cursor 
back to the file, and press 
Return after the name. File 
copying, deleting, renam- 
ing, and so on are also ac- 
complished by typing the ap- 
propriate command, fol- 
lowed by the name of the 
file. You can use the stan- 
dard wildcards to save a 


good deal of typing. 

In addition to letting you 
add parameters when ac- 
cessing your printer, 
geoShell lets you use vari- 
ous parameters with the DIR 
command. You can list only 
those files which fit certain 
limitations, such as a range 
of file dates or a specific file 
type. There are several vari- 
ations on the TYPE com- 
mand, which displays text 
files on the screen without 
opening an application. 

You can define the func- 
tion keys (which GEOS itself 
pretty much ignores altogeth- 
er) to fire off any commands 
you specify. On top of that, 
you can define hot keys, two- 
key combinations that load 
and run any application or 
desk accessory you pro- 
gram into a combination. 
For example, the hot-key se- 
quence W-R can be pro- 
grammed to load and run 
geoWrite. Some combina- 
tions are already pro- 
grammed, but you can de- 
fine up to 128 of them to 
make running your own sys- 
tem as quick and painless 
as possible. | found this to 
be a lifesaver when | had 
trouble remembering the cor- 
rect program name. Since 
geoShell is case sensitive, | 
couldn't remember if the 
spelling for geoWrite 128 
was geoWrite 128, GeoWrite 
128, or what. 

Compatibility is no prob- 
lem since geoShell supports 
every kind of Commodore 
drive and RAM device— 
from the 1541 to CMD's FD- 
4000 and from a 1764 REU 
to a multimegabyte RAM- 
Link. If you run geoShell 
from Gateway with its driv- 
ers set for native mode par- 
titions on CMD devices, 
geoShell will also support 
the native mode partitions. 
You can install and use a 
fourth drive and use Jif- 
fyDOS to control all of those 


devices. 

For using partitioned 
RAM devices, FD drives, 
and hard drives, geoShell in- 
cludes a path command. 
This nifty feature lets you 
place geoShell itself in only 
one of the partitions and 
then specify the path to it 
for the system to use. From 
then on, no matter where 
you are, geoShell will be ac- 
cessible as long as you 
place a very small loader 
file called GETSHELL in eve- 
ry partition. The arrow keys 
access the last ten com- 
mands you've typed. Press- 
ing the Shift key and the 
Run key simultaneously 
loads and runs the first ex- 
ecutable file on the active 
drive. You can also type 
more than one command on 
a line. 

Now | won't say that us- 
ing geoShell is simple, even 
with its extra features. The 
problem | experience most 
often is not knowing how a 
filename is spelled exactly 
or whether there are upper- 
case letters in the name. | 
had a lot of trouble in remem- 
bering which letters had to 
be capitalized while trying to 
install ImageWriterDS. 

Another minor inconven- 
ience is that geoShell won't 
let you run a 40-column pro- 
gram when you're using the 
128 in 80-column mode. Oth- 
er interfaces ask if you'd 
like to switch and then go 
ahead and do it if you say 
so. With geoShell, you must 
manually change screen 
modes (which in my case re- 
quired a scramble for the 
manual again to find the com- 
mand to type) and then run 
the file again. 

To be fair, I'm sure that 
each of these frustrations 
would vanish if | would start 
to use geoShell regularly. Af- 
ter all, the only reason | had 
to check where the upper- 
case letters were was be- 


Big Blue Reader 128/64 - 4.1 


Transfers word processing, text, ASCII, and binary files between 

C64/128 and IBM PC compatible 360K 5.25" and 720K 3,5" disks. 

New Version 4.1 features: Transfers ASCII, PET ASCII and Screen 

Code files including: WordWriter, PocketWriter, SpeedScript, PaperClip, 

WriteStuff, GEOS, EasyScript, Fleet System and most others. 

Supports drives # 8-30. New Backup (C128) and Format (1571/1581) 

programs. Reads MS-DOS sub-directories, uses joystick, and more. 
Includes C128 & C64 programs. Requires 1571 or 1581 Disk Drive, 


Big Blue Reader 128/64 - 4.1 only $44.95 
Version 4.1 upgrade, send original BBR disk plus $18. 


Bible Search 3.2 


. The entire Old & New Testament text on 4-1541/71 disks. 

. An Exhaustive English Concordance on 2-1541/71 disks. 
Indexes every word in the entire Bible; 700,000+ references. 

. Incredible five (5) second look-up time, per/word, per/disk. 

. Instant, automatic spell checking of more than 12,800 words. 

. Wildcard and boolean AND, OR & NOT search options. 

. Search the entire Bible in 5 seconds with 1581 or HD (v 3.52). 

. Money back guaranteed! 


KJV $49.95 | NIV $59.95 | KJV & NIV $90 


Includes: C64 & C128 programs; screen, printer and disk output; 
users guide, disk case. Available on 7-1541/71, or 4-1581 disks. 
"= Any questions? Call or write for more information. 
Also available! Amiga, Bible Search 
Order by check, money order, or COD. US funds only. 
«= FREE Bookrate shipping in US. No Credit Card orders. 
Canada & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR) 


SOGWAP Software @ (219)724-3900 


115 Bellmont Road; Decatur, Indiana 46733 


grams for your Commodore 64 or 128—already on 
disk! 


programs published in the corresponding issue of 
COMPUTE. 

New on the Gazette Disk! In addition to the 
programs that appear in the magazine, you'll also 
get outstanding bonus programs. These programs, 
which are often too large to offer as type-ins, are 
available only on disk—they appear nowhere else. 
As another Gazette Disk extra, check out 


Yes, save time and money! Subscribe to the Gazette 
Disk and get all the exciting, fun-filled Gazette pro- 


Subscribe today, and month after month you'll 
get all the latest, most challenging, and fascinating 


day to COMPUTE’s Gazette Disk and get 12 issues 
for only $49.95. You save almost 60% off the single- 
issue price. Clip or photocopy and mail completed 
coupon today. 


$9.95 (plus $2.00 shipping and handling) by writing 
to COMPUTE, 324 West Wendover Avenue, Suite 
200, Greensboro, North Carolina 27408. 


“Gazette Gallery,” where each month we present the 
very best in original 64 and 128 artwork. 


What do all of these drives 
have in common? Aa 
They all perform at their best js: 


with The Compression Kit. 


° 1571 
s\_ |The Compression Kit} ~, 
° POR ee 


(CMD FD 2000/4000 


7 HOT Must Have Utilities 
Filemaster: Copy, move, delete, and replace files 
with ease. (The in house favorite.) 
Procopy: Copy 1541/1571/1581 disks and CMD 
Native partitions (Single or dual drives.) 


Vv Archiver: The consumate file backup utility. 


{It's so powerful and easy to use, itll make you scream!) 


J 181 Disk Boa: Squeeze those 1541 5.25" SS/DD 

Disks into convenient backup files (Backup those disks.) 
1571 Disk Boa: 25" 

V3 1 Di: sk Bi Squeeze your 1571 5.25" DS/DD Disks 4,7 Link 
into convenient backup files (That means both sides folks.) 


Wf 1581 Disk Boa: Squeeze those big 1581 3.5" DS/DD 


Disks into convenient backup files. 
Y CMD Native Boa: Backup your CMD Native Partitions 
with confidence (Safeguard your valuable data.) 
All utilities include a full featured 3 stage verify. 
Menu driven - No cryptic command codes. 
Includes a full sized custom 3 ring binder with a 50+ 
page, easy to understand User's Manual. 


Please enciose chack or money order for $39.95 
plus shipping and send to: 


Mad Man Software 
1400 East College Drive 
Cheyenne, Wy.82007 
(307) 632-1178 Information 


CMD RAMDrive 


& 


Next Day (U.S.) $15.50 (AK,HI) $20.50 


Circle Reader Service Number 260 


So don’t waste another moment. Subscribe to- 


Individual issues of the disk are available for 


YES! Start my one-year subscription 
to COMPUTE’s Gazette Disk right away 
for only $49.95.* 


O Payment enclosed (check or money order) 


OCharge OMasterCard O Visa 
Acct. No. Exp. Date 
Signature 
(Required) 
Name 
Address 
City 
State/ ZIP/ 
Province Postal Code 


Mail to COMPUTE's Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430 


“Residents of NC and NY, please add appropriate sales tax for your area. Canadian 
orders, add 7% goods and services tax. HNGA2 


COMMODORE 64/128 


PUBLIC DOMAIN 
SHAREWARE PROGRAMS 


CALL OR WRITE FOR FREE 
DESCRIPTIVE CATALOG OF 
COMMODORE 64/128 PUBLIC 
DOMAIN & SHAREWARE SOFT- 
WARE OR SEND $2.00 FOR DE- 


SCRIPTIVE CATALOG AND 
SAMPLE DISK. ADULT SOFT- 
WARE LISTING AVAILABLE TO 
THOSE OF LEGAL ADULT AGE. 


DISKS O'PLENTY INC. 
8362 PINES BLVD., SUITE 270 
PEMBROKE PINES, FL 33024 

(305) 963-7750 


Circle Reader Service Number 253 


SUPPORT 


Anth 


The classic best-selling 
Commodore 64 reference 
guide. Mapping the Com- 
modore 64 and 64C is a 
comprehensive memory 
guide for beginning and advanced programmers. 


supplies last. 


WESTERN HERITAGE 
THE BIGGEST VARIETY OF ALL NEW 
PROFESSIONAL WESTERN PRINT SHOP 
GRAPHICS, BORDERS AND FONTS. FROM 
WILD WEST RODEOS TO MODERN HORSE 
SHOWS, YOU WILL HAVE GRAPHICS 
FOR EVERY WESTERN OCCASION. 
$24.95 PLUS USA S/H #4.00 WARES. $1.95 TAX 
PLUS: UK SH $1200 *% AUSTRALIA SH $16.00 
APO, FPO, AK, HI S/H $6.00 %& CANADA S/H $5.00 
w PAYMENT IN USAFUNDS % OR CANADA 
ORDERS $37.50 TOTAL IN CANADIAN FUNDS. 
Call NOW 509-276-6928 
C64 wy WRITE FOR FREE BROCHURE * IBM 
HORSE FEATHERS GRAPHICS 
N. 27310 Short Rd, Deer Park, WA 99006 
REQUEST 5 25 OR 3.5 FOR IBM 
SPECIFY IBM OR C84 


@ apm 


Circle Reader Service Number 234 


It Works Wonders. 


g 


American 
Heart 
Association 


MAPPING 
THE 


Commodore 


64 &64C 


To order your copy send $18.95 plus $2.50 for shipping and handling 
(U.S., $4 to Canada and $6 other) to COMPUTE Books, c/o CCC, 2500 
McClellan Ave. Pennsauken, NJ 08109. (Residents of NC, NJ, and NY 
* please add appropriate tax; Canadian orders add 7% Goods and Servic- 
es Tax.) All orders must be paid in U.S. funds drawn on a U.S. bank. 
Orders will be shipped via UPS Ground Service. Offer good while 


G-10 COMPUTE OCTOBER 1993 


REVIEWS 


cause | had forgotten that there was a 
hot-key command. After | switched 
screen modes a few times, | got used 
to the commands S40 and S80 and 
didn't have to look them up. As a mat- 
ter of fact, while | was browsing around 
the manual for those commanas, | dis- 
covered that the Alt key on my 128 will 
switch screen modes even faster. The 
documentation is excellent, by the 
way, although there is no index, which 
makes it a little harder to find what you 
need. 

Oh, | know memorizing things like 
file types isn't for everyone. But if 
you're the kind of user who likes to 
have complete control over your sys- 
tem, geoShell is the GEOS interface 
you've been waiting for. 

STEVE VANDER ARK 


Maurice Randall 

P.O. Box 606 

Charlotte, MI 48813 

$24.95; outside North America add $5.00, 


Circle Reader Service Number 414 


HELP MASTER 64 


If you're a seasoned programmer who 
can use PEEK, POKE, VAL, FN, and oth- 
er BASIC commands as well as you 
can English, then this program isn't for 
you. If you're learning BASIC, however, 
and stumble occasionally over the prop- 
er syntax of a command, then check 
out Help Master 64. 

Help Master 64 offers instant on- 
screen help for 69 BASIC commands— 
everything from ABS to WAIT. What 
makes this program especially helpful 
is that it's at your fingertips even while 
you're programming. If you're in the mid- 
dle of a programming session and get 
stuck on a command, you can call up 
Help Master, get the information you 
need, and then return to your program- 
ming. Help Master doesn’t interfere 
with BASIC or any program that you 
may have in memory. 

To get help on any command, sim- 
ply type a quotation mark (') and the 
command. Press Return, the top half of 
the screen clears and fills with helpful 
information about that command. 
Press f1, and the help screen disap- 
pears, returning you to your original 
screen. Some commands have more 
than one screen of information availa- 
ble. In this case, press f7 to advance 
to the next screen. 

When Help Master is activated, you 
can enter a quotation mark only and 
press Return to get a list of all com- 
mands for which help is available. 
This index screen also explains how to 


get specific information about any of 
these commands. 

When you call up a command's 
help screen, you get a variety of infor- 
mation. The screen presents the com- 
mand and its abbreviation, which usu- 
ally is the command's first letter and its 
shifted second letter. Next on the 
screen is the command's syntax, with 
an example of how you might enter it in 
a program. Some portions of the syn- 
tax are set off in square brackets to in- 
dicate that they are optional. 

Beneath the command's syntax is a 
short explanation of what the com- 
mand does. Some screens are linked 
to additional screens if the explanation 
is too long to fit in the space provided. 
If that's the case, simply press f7 to 
call up the next page. 

Finally, at the bottom of the window, 
you'll see four page numbers. These 
are the pages in various reference 
books where you can find additional in- 
formation about the command in ques- 
tion. These books include Commodore 
64 Programmer's Reference Guide, 
Handbook for BASIC for the Commo- 
dore 64, and the two versions of Com- 
modore 64 User's Guide. 

Since Help Master resides in RAM un- 
der the BASIC 8K ROM (40960-49151) 
and in most of the 4K block that starts 
at 49152, it won't interfere with the 
DOS Wedge, which is located at 
52224-43247. Machine language pro- 
grams that operate within this range 
will not work with Help Master. 

If you're in the middle of a program- 
ming session and realize that you 
need Help Master but it isn't loaded, 
that’s not a problem. You don't have to 
quit the first program. There's an al- 
ternative method for loading and run- 
ning Help Master after you have anoth- 
er program in memory. A simple SYS 
call then lets you activate Help Master. 

When you run Help Master, you'll 
probably notice its 1985 copyright no- 
tice. This little program has been 
around for a while. For any program to 


(Any: 1 for $10, 3 for $18, 6 for $24) 


$15.00 Anatomy ote 1541 
$1500 C128 BASIC Trainrg Guise 


$13.00 Graphics Book forthe C64 
{$15.00 Prrter Book tr he C54 


{$10.00 Sdnas tor Use on Your C-64 
$10.00 T 


$16.00 ae 
$2 Dacge 


$17.00 Syantink AS-Z32 Carrdne fine a tmst 


sanuary/Febeusy 
Mayilune 
September/Octobor 


March/Apei 
July/August 
Now Dee 


fem (Abas) 


$24.00 Swat ink Mooie Cabse (089-0825) =1982- 


“$15.00 BOCA 144K Baud Modem, 
$2000 BOCA 144K wSwitirk anc Cable 


January/February MarchvApri 
Mayidune JayiAuguet 
Septerrber/October_NowDee 


RUN Back Issues 


(Any:3 for $10, 6 for 818, 12for$24) 


$22.00 (EEE Pash! 64 IEEE ieertace 
$25.00 Qucksiver 128 IEEE htertace 

‘$17.00 C1351 Meuse 

$2500 C64, C-4iC Power Sunply (Reperabe) 
“$1500 C-128 Power Suppy (Reparabie) 
$2000 1S81/5t1-1 Power Sunny 


‘SCSI Hard Drive for the C64 & C128 


HO Series Hard Drives are avalable in capacities upto 200 MB, 
are fuly parttonable, and can emulate 1541, 1571, & 1581 
‘sks while Natvepationsutize! subdirectories. 
HD's connect easiy io the serial bus or paral via RAMLnk. 


U.S. Shipping Information 
Books & Sofware: First tem $5.00, | pope reyes tem. 


JanuaryFebruay, MarchApel, May! 


1.6 MB and 3.2 MB 3.5" Floppy Disk Drives | 
‘The FD-2000 and FD-4000 disk drives utilize today’s latest 3.5 inch 


asi FD-4000s 
(Enhanced Density) , 
EDSeries 1541, 1571 and 1581 syle parttons, Nave 
canactualy read and wie 1581 disks FD'sfeaturebuitin Sy00S, 
SAP baton and optional RTC gh capac, speed ad arpa maka be FD rg 
every appication, including GEO: 


‘Speeds up disk access by up to 1500% while 
iiftyDOS retaining 100%. Sere TAM cae sofa 
Speeds up Loading, Saving, Verilying, Formatting and Reading/Writing 
essa dry ya een tate pedis manne 
= Bultin DOS Wedge plus 17 additonal features including fle copier, text dump, printer toggle, and 
redefinabie function keys make using your computer easier and more convenient 
+ ROM installs easly into most computers and disk drives. Supports C-64, 64C, SX-64, C- 
128, 128-D, 1541, 1541C, 1541-1571, 1581 and more. 128 system supports both 64 and 128 


1 $5.50 per hem, ansDay ae $1900. moto Micro Designs, Inc. 


PERFORMANCE PERIPHERALS, Inc. 


5 Upper Loudon Road, Loudonville, NY 12211. 
US orders, literature: 800-925-9774. Tech support, orders, FAX: 518-436-0485. 
BBU $59, BBGRam 512K $89, BBGRam 1M $119, BBGRam 2M $159. 
[iM] US SSH $6. US COD $4. Canada & Mexico S&H $10. Other countries S&H $19. 
B30 day money back guarantee. 90 day warrantee. Master Card / VISA welcome. 


be in production this long, you know it 
must be doing something right. 

As | said at the beginning, Help Mas- 
ter 64 is not something an experienced 
programmer will need. It's designed for 
the person who is learning BASIC and 
still needs to consult reference materi- 
al frequently. It's also a boon to those 
who program infrequently and need to 
brush up on BASIC syntax and usage. 
CHRISTIAN FLEMING 


Circle Reader Service Number 153 


$63.00 
1541 Repair $42.00 
1571 Repair $52.00 
x64 $66.00 


C-64 PC-10, PC Cott Motherboard $110.00 
repair® 37,95 


Prices include parts/labor. 

Except PS and drives. 

Discount for dealers & schools 

Prices subject to change without notice. 
AUTHORIZED COMMODORE SERVICE CENTER 


Amiga 500 BD $70.00 
Amiga 1000 BD $87.00 
‘Amiga 2000 BD $125.00 
Al Commodore monitors $67.00 


128D — $70.00 


Computer Technologles 
1313-B Washington Ave. 
Titusville, FL 32780 
(407) 269-1081 
Toll Free 1-800-237-2835 


Master Software 

6 Hillery Ct. 
Randallstown, MD 21133 
(410) 922-2962 

$19.95 


Circle Reader Service Number 415 a 


OCTOBER 1993 COMPUTE G-11 


G-12 


Corrections to 
previous articles, 
the jiffy 

clock explained, 
a SpeedScrint 
modification, and 
more 


FEEDBACK 


Bug-Swatter 

There seems to be some text 
missing from John Elliott's “Up- 
grading Without Changing Plat- 
forms” in the June issue. 


JOHN KOESTNER 
HAZELWOOD, MO. 


The printer inadvertently re- 
peated the line at the bottom 
of page 5 on the top of page 
6. This extra line pushed the fi- 
nal line of the article off the bot- 
tom of the page. We apolo- 
gize for the error. The last sen- 
tence of the article should 
read as follows. 

“The investment of time, en- 
ergy, and money by the soft- 
ware and hardware develop- 
ers is an indication of their con- 
viction that our Commodore 
computers will be productively 
used and enhanced by prod- 
ucts for many years to come." 


Time of Day 
| was trying to figure out how 
to use TI$ as a timer. Can 
this clock be reset to O (or 
any number) without turning 
off the 64? Also, | thought 
that all numeric variables 
were used without a dollar 
sign on the variable name. 
Since TI$ holds a number, 
why isn't it displayed as TI? 
Evidently TIME is another 
clock, because when | type 
PRINT TIME, it displays a pro- 
gressively larger number. Af- 
ter some experimentation, | fig- 
ured that this number advanc- 
es approximately 60 times 
per second. Can you please 
explain about this also? 


RICK MONTOYA 
MIAMI, FL 


The variables TI$ and TI 
stand for TIME$ and TIME, 
but only the first two letters of 
the variable name are signifi- 
cant. These two variables tell 
you the value in the jiffy 
clock, but they put the time in 
slightly different formats. As 
you've discovered, the clock 
ticks 60 times a second. The 


COMPUTE OCTOBER 1993 


'/feo-second unit of time is re- 
ferred to as a jiffy. 

The clock is set to 0 when- 
ever you turn on a 64 or 128. 
To reset it from BASIC, in- 
clude the line TI$ = “000000”. 
Note that Tl = 0 won't work. 
You can read the value of TI, 
but you can't set it (except in- 
directly through TI$). You may 
set TI$ to other values; for ex- 
ample, to set a time of 1:35 
you would use TI$="013500". 
The time uses a 24-hour for- 
mat: After 23:59:59, TI$ 
wraps around to 00:00:00. 

The variable TI tells you the 
total number of jiffies that 
have passed since the clock 
was reset. Divide TI by 60 to 
convert this value to seconas, 
TI$ is just another way of look- 
ing at the jiffy clock—it chang- 
es the number of jiffies to 
hours, minutes, and seconds. 
One reason to make TI$ a 
string variable (with a $ after 
the variable name) is that it 
prints the time in a consistent 
format with leading zeros. Be- 
cause T/$ is a string, you can 
use the MID$ function to ex- 
tract the hours, minutes, and 
seconds. To convert a string 
to a numeric value, use the 
VAL function. For example, 
PRINT VAL(TI$) would print 
120 for a time of 000120. 


Tape or Disk? 

A friend of mine uses 
SpeedScript, and his version 
of your word processor does 
not use the prompt TAPE OR 
DISK? like mine does. | don't 
know of anyone who still uses 
a tape drive, and I'd love to de- 
lete this prompt. He said it 
took only a few POKEs, but 
he can't remember where he 
saw them. Can you help? 


ALEX PARKS 
ALEXANDRIA, VA 


It has been a few years since 
we published this tip, but it is 
a helpful one if you never use 
a Datasette or tape drive with 
our word processor. Load but 


don't run a copy of 
SpeedScript. Then type 
POKE 4904,162: POKE 
4905.8: POKE 4906,76: 
POKE 4907,61: POKE 4908, 
19. After you press Return, be 
sure to save this modified ver- 
sion of SpeedScript with a 
new filename. From then on 
when you load and run 
SpeedScript, it assumes that 
you'll be using a disk drive. 


Mass Deletions 

Is there a way | can delete a 
whole section of numbers 
from a BASIC program on my 
64? For example, can | delete 
lines 200-300 without typing 
each number and then press- 
ing Return? 

ROGER HOWARD 

LOS ANGELES, CA 


The 128 has a DELETE com- 
mand, but it’s not available on 
the 64. There is one simple 
way that will save you some 
time and typing. If your lines 
are numbered by 10s, in imme- 
diate mode enter the follow- 
ing line with your program 
loaded. Change the STEP val- 
ue if your program is num- 
bered differently. 


FORT=200 TO 300 STEP 10: 
PRINT T: NEXT 


When you press Return, num- 
bers 200, 210, and so on will 
print to the screen. Cursor to 
the first number and press Re- 
turn. Keep pressing Return un- 
til you run out of numbers. If 
you need more lines, just en- 
ter the line again, covering 
the desired range. Be careful 
that you don't print more than 
20 lines to the screen at one 
time, or they will scroll off. 


Do you have a question or 
comment? Write to Gazette 
Feedback, COMPUTE Publica- 
tions, 324 West Wendover Av- 
enue, Suite 200, Greensboro, 
North Carolina 27408. 0 


PUMP UP 


YOUR PRODUCTIVITY! 


Harness the potential of your, The Guastte Graphics 
64 and 128 with these ae 


Do it all with Commodore 


rf | graphics! 
powe U pr ogr ams. Here's what's on it- 

hics, 
Get more work out of your 64 and 128 Soe ere 
with these two new disk products from 128 Graphics Compactor, 


64 Animator, VDC Graphics, 
Dissolve 128, Super Slideshow, 
128 Animator, 1526 PrintScreen, 


COMPUTE 's Gazette — the 1992 
Best of Gazette Utilities, and 


the Gazette Graphics Grab Supratechnic, Medium-Resolution 
Bag! Graphics, Screen Maker, GAS!64— 
The 1992 Best of Special Edition, GAS!128—Special 


Edition. 


Gazette Utilities 


Seize control of your operating 
system and your world! 

Here's what's on it-MetaBASIC 64, 
MetaBASIC 128, Quick, Sprint ll, 
Ultrafont+, RAMDisk 64, RAMDisk 128, 
BASSEM, SciCalc 64, List Formatter, 
MegaSqueeze. 


Extend Your Computer Power With This Powerful Software! 


_— Check or Money Order ___ MasterCard ___ VISA | 
| want to pump up my productivity! Please send me the | 
@ disks checked below at $11.95 each. Credit Card No. Exp. Date | 
Signature | 
___The 1992 Best of Gazette Utilities a (Required) 
_— The Gazette Graphics Grab Bag Daytime Telephone No. | 
—— Subtotal Nene 
___ Sales Tax (Residents of NC and NY please add appropriate sales tax for your 
area. Canadian orders, add 7% goods and services tax.) Address 
___ Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City 
airmail per disk.) 
State/Province ZIP/Postal Code 
_— Total Enclosed 
Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200, 


MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408. | 


You won't find 
many Commodore 
dealers in 


Venezuela. What you 


will find is a loyal 


group of Commodore 


G-14 


owners. 


WORLD VIEW 


Edwin P. Krisch Stark 


VIEW FROM 
VENEZUELA 


jHola, amigos! Greetings 
from Caracas, Venezuela, to 
all 64 owners! | hope to give 
you a deep, although short, 
view of the Commodore world 
in the land of El Dorado and 
dense jungles. 

First of all, let me tell you that 
owning any computer is seen 
around here as a snobbish ges- 
ture. Very few people have 
them. In this world, understand- 
ing these machines means so- 
cial catastrophe. There seems 
to be an exception, however, 
among 64 enthusiasts, who 
have formed an undeclared 
brotherhood or hackers. 

A 64 without disk drive 
would cost you two complete 
months of salary in local 
terms, which is about $100 
per month. And that's if you're 
lucky enough to find a dealer 
who will sell it to you. Most of 
us Commodore owners get 
equipment by ordering it direct- 
ly from the United States or by 
asking friends visiting there to 
purchase it. To make matters 
worse, the economical crisis 
here has made local govern- 
ments inhibit imports, so many 
computers reach their owners 
only after being smuggled 
through customs. 

The local computer market 
consists of dealers selling a 
myriad of PC clones; tons of 
them are brought in from Asia, 
most with strange and un- 
known names. Only a brave 
soul would be interested in mar- 
keting Commodore products, 
yet the night is not as dark as 
it may seem. A couple of deal- 
ers struggle but receive pop- 
ular support from the 64 and 
Amiga owners. These owners 
love computers that work right 
out of the box, without the has- 
sles of cards, video incompat- 
ibility, and cheap sound. 

Most 64s stay with their own- 
ers until the computers fail com- 


COMPUTE OCTOBER 1993 


pletely or until the owners up- 
grade. Many of these are 
promptly replaced by Amigas 
because of an impressive loy- 
alty to Commodore and its 
products. 

There never has been any 
regular way of obtaining soft- 
ware for 64s, and | doubt that 
this will change since the inter- 
est is shifting to the MS-DOS 
market. It's a strange sight to 
find an original disk in any- 
one's software collection. This 
is a pirate's haven, and some 
even joke about the Colombi- 
an Connection: guys in Colom- 
bia who bring in pirated soft- 
ware from Europe. 

Since the source of new pro- 
grams for the 64 is drying up, 
many users have started 
what's become an intense 
craze that we call shared 
modeming. A group of desper- 
ate users started browsing pop- 
ular BBSs, sharing the expens- 
es of long distance telephone 
calls. The most irksome thing 
about this is that many sysops 
see that we're calling from Ven- 
ezuela and think it's a joke. 
Most sysops are too lazy or 
cheap to make the long dis- 
tance call to validate the guys 
who just called in such an un- 
usual fashion, so they flush us 
out of their systems. This is al- 
so true with the commercial on- 
line systems. 

Those sysops who don't 
pay much attention to valida- 
tion usually trust their callers. 
In return, we provide a nice at- 
titude inside the system and a 
valid credit card number 
when ordering products. 
BBSs with 800 numbers are 
troublesome to use from here. 
Some modeming sharers 
have gone to the extreme of 
taking their computers and mo- 
dems to Miami just to get in- 
side some online services. 

Want to know something fun- 
ny? The 64s were considered 
game machines—not even a 
notch above toys—but now 
the PC clones are the most tar- 


geted market for games. Yet 
they still keep their status as se- 
rious machines. Anyway, | 
have found an advantage to 
this switched situation. | play 
games on clones, but I've start- 
ed writing clue books for them 
on my 64. Many of these 
books are just for my own use, 
but some | sell. | just turn on 
the computer, load Speed- 
Script, and start typing. For em- 
bellishment, such as maps 
and graphics, | resort to 
GEOS and its power. And 
when | need extra assistance, 
| just transfer my files to my Ami- 
ga with a null modem. It works 
fine and keeps my pocket full 
for buying original software. 
Right now | am considering 
the idea of creating a BBS ded- 
icated to adventure games, 
where you can browse around 
to find the clues needed. The 
only thing stopping me is the 
final choice of the right pro- 
gram to handle my needs. 
Here are some final com- 
ments. Programmers, don't 
underestimate the 64. There 
are nearly 15 million of these 
great machines out there, and 
most of them are still in use. Us- 
ers, don’t trash your 64. It's 
like Pandora's box in that it's 
full of grief, but it's also filled 
with lots of surprises. If you ev- 
er do upgrade, make it an Ami- 
ga, so Commodore will keep 
these great machines coming. 


Millions of 64s and 128s are 
in use around the world, so 
how about telling our readers 
about the Commodore activi- 
ties in your country? You 
might mention user group ac- 
tivities, software and BBS avail- 
ability, system costs, or any- 
thing of interest 64 and 128 
users. Send a 1000-word arti- 
cle on disk to COMPUTE’s Ga- 
zette, 324 West Wendover Av- 
enue, Suite 200, Greensboro, 
North Carolina 27408. We 
pay $150 for each “World 
View" that we publish. a 


PD PICKS 


Steve Vander Ark 


SOUND 
SELECTIONS 


Before | bring out my picks for 
this month, let me talk a little 
about formats. |'m not talking 
about disk formats, but about 
the method used to store data 
on disk. 

Many drawing or paint pro- 
grams have their own particu- 
lar way of storing the pictures 
that you create with them, 
Many of them use some kind 
of code attached to the name 
of the file to identify what that 
format is. If you are a fan of 
computer graphics, you prob- 
ably know the kind of format 
I'm referring to. 

Over time, certain of these 
various formats tend to be- 
come more common as users 
decide that they like one par- 
ticular program. One format 
will often become something 
of an unofficial standard, and 
its method of data storage is 
copied by other programs. 

Sometimes, though, a pro- 
gram appears that sets the 
standard right off the bat, but 
in this case I'm not talking 
about graphics. That's pretty 
much what happened with 
Craig Chamberlain's excellent 
music editor called the En- 
hanced Music System, original- 
ly from COMPUTE Books, but 
now distributed by Parsec. 

Chamberlain's format for mu- 
sic files ended with the exten- 
sion MUS. Due in part to the 
quality of his program and to 
the lack of serious competition 
at the time, this type of music 
file has become the standard 
for Commodore SID music. 

As the years went by, addi- 
tional extensions showed up: 
WDS for lyrics files, PIC for use 
with graphics screens, and so 
on. Those other types of files 
became an important part of 
the standard, thanks to a pro- 
gram called Stereo SID Player 
written by Mark Dickenson. 

Dickenson wrote DigiPlay- 


er, one of my featured selec- 
tions this month. DigiPlayer is 
a digitized sound player that 
has its own particular format. 
This format, the RAW file, has 
become the standard for dig- 
itized sound on the Commo- 
dore. OK, so RAW is the only 
digitized sound format for the 
Commodore, but that makes it 
the standard, right? 

Anyway, since MUS and 
RAW files are common, it's fair- 
ly easy to find enough of them 
to keep SID Player and Digi- 
Player cheerfully singing and 
talking for hours on end. Quan- 
tumLink has more SID music 
files than any other type of 
file, everything from rock-'n'- 
roll to Broadway tunes (my fa- 
vorites). There are also quite 
a few RAW files on Q-Link, in- 
cluding sound bites from Star 
Trek and Looney Tunes. 

But anyway, here's a closer 
look at both programs. 

Stereo SID Player 10.3 by 
Mark A. Dickenson. Quantum- 
Link filename: STEREO10.3A 
and STEREO10DOC (docu- 
mentation) uploaded by Mark 
AD |. Public domain. 

The original SID Player was 
part of the SID Music System, 
but Stereo SID is definitely a 
new and improved version! 
For one thing (and this is a big- 
gie), this program plays six- 
voice stereo SID files. If you've 
never heard your Commodore 
play in stereo with the SID Sym- 
phony cartridge from Creative 
Micro Designs, you've missed 
a treat! Of course, it plays reg- 
ular three-voice SIDs as well. 

Remember what | was say- 
ing last month about really 
good utilities doing the mun- 
dane with flair and elegance? 
That's precisely what makes 
this program stand out above 
other SID players. Stereo SID 
Player doesn't just sit there 
while the music plays. The 
screen is alive with wriggling 
shapes and flashing colors. 
There's even a tiny band up in 
the corner (on three-voice 


SIDs) playing its collective 
heart out. More useful is a dis- 
play—both on a keyboard and 
by note names—of the notes 
each voice is playing as the 
song progresses. 

On top of that, the program 
makes it a cinch to find and 
load any song you want from 
a disk and offers plenty of op- 
tions for playing it. The words 
to the song will scroll past if a 
WDS file is included. If there's 
a PIC file, a graphic image in 
Doodle or Koala format will fill 
the screen except for two 
lines of lyrics scrolling by at 
the bottom. But if nothing 
else, this program is worth get- 
ting just for the opening se- 
quence, a rock version of the 
theme from 2001: A Space Od- 
yssey with a snazzy bunch of 
screen effects to go with it. 

DigiPlayer By Mark A. Dick- 
enson. QuantumLink filename: 
DIGIPLAYER31.SDA upload- 
ed by Mark AD |. GEnie file 
number 8685. This program is 
shareware; the suggested do- 
nation is $5-$10. 

The first time someone sug- 
gested to me that the Commo- 
dore could play digitized 
sounds, | figured he was nuts. 
Everyone knows that recogniz- 
able digitized sound requires 
vast amounts of memory, and 
memory is one thing the good 
old 64 is short of. But Mark 
Dickenson has pulled it off 
and makes this player shine. 
Not only does DigiPlayer play 
the sound files, but it also lets 
you import digitized files from 
Amiga, Apple II/GS, Mac, 
Atari ST, and Digitalker 128. It 
supports the REU and will 
play digitized files of up to 
400K in size. 

If you want more RAW files 
from Q-Link, your best bet is to 
browse that library directly be- 
cause the search function 
tends to ignore them. You'll 
find them tucked away in the 
software libraries under Music: 
MIDI and General/Digitized 
Sound & DigiPlayer Files. O 


OCTOBER 1993 COMPUTE 


The screen is alive 


with wriggling 


shapes and flashing 


colors. There’s 


even a tiny band up 


playing its collective 


heart out. 


G15 


Prepare a list 
of things to do and 
then save the 
information to disk. 


G-16 


BEGINNER BASIC 


Larry Cotton 


WHERE’S THE 
DATA? PART 2 


Any information that you store 
within a BASIC program as DA- 
TA statements will be loaded 
or saved with the program 
whenever you load it from or 
save it to a disk. If the data is 
supplied by the program's us- 
er as INPUT or GET state- 
ments, however, then it's not 
part of the BASIC program. If 
the computer is turned off, the 
data will be lost. Therefore, if 
you want to save any data sup- 
plied by a user, it'll have to be 
saved as a separate program. 

Let's start by writing a sim- 
ple program which generates 
some data: a list of things to 
do. Without using a menu or 
other fancy features (I'll leave 
that to your own creativity), 
we'll ask for a to-do list, one 
item at a time, and then save 
the list to disk as data in the 
form of a PRG (PRoGram) file. 
A complete to-do program 
might include features such 
as saving and loading the list; 
adding, deleting, or rearrang- 
ing items; and printing the list. 

Here's asimple program for 
just getting the list and print- 
ing it to the screen. 


10 PRINTCHRS(147) 

20 DIMIS(100): PRINT NO 
MORE THAN 100 ITEMS!”: 
PRINT [DOWN] PRESS 
ANY KEY TO BEGIN.” 

30 GETAS: IFAS="' "THEN30 

40 PRINTCHRS(147) 

50 X=X+1: INPUT TO 
DO”;I$(X) 

60 IFIS(X)="""THENX=X-1: 
GOTO 80 

70 GOTO 40 

80 PRINT 

90 FORT=1TOX: PRINT 
S(T); NEXT 


When you run the program, en- 
ter a few tasks, item by item, 
such as WASH HOUSE, 
PAINT CLOTHES, IRON 
DOG, and so on. Press Re- 


COMPUTE OCTOBER 1993 


turn after you enter each item. 
When you've entered the last 
item, press Return on an emp- 
ty line. Your complete list, sil- 
ly though it may seem, will 
print on your TV or monitor 
screen. It's also neatly tucked 
away in your computer's mem- 
ory, but it'll disappear when 
you turn off your machine. 
Now let's add a routine that 
will save the information to 
disk. 


100 INPUT“ [DOWN] NAME OF 
LIST TO SAVE”:LS: 
IFL$="""THEN END 

110 OPEN1,8,1,LS 

120 PRINT#1,X 

130 FORT=1TOX: PRINT#1, 
1$(T): NEXT 

140 CLOSE1 


Because you've modified the 
program, you'll need to reen- 
ter a to-do list. (You might 
want to make this one sensi- 
ble.) When you press Return 
on a blank line this time, your 
list will print onscreen and 
you'll be prompted to give it a 
name. After you name the 
list, it will be saved to disk in 
the order that you entered it. 

Here's how lines 100-140 
work. Line 100 is a normal IN- 
PUT statement which asks for 
the name of your list so that 
the disk drive can retrieve it lat- 
er. The most important line’in 
the program is line 110. Its syn- 
tax is critical. 

When you communicate 
with peripheral equipment 
such as disk drives and print- 
ers, you need to open and 
close channels. Like the com- 
puter itself, the peripheral ex- 
pects to communicate ina syn- 
tax it recognizes. 

In line 110, the OPEN com- 
mand opens a channel for 
communication. The first 1 in 
the command is an arbitrary 
file number, which can be any- 
number from 1 to 127. (Think 
of opening a Manila file folder 
with the number 1 on it.) 
Once that file is opened, da- 


ta can be sent to it by refer- 
ring to its number. 

The next number, 8, sends 
information to the disk drive. 
(If you use a second drive, re- 
fer to it as device 9.) 

The next parameter, 1, 
tells the disk drive to save (as 
opposed to load) this informa- 
tion. L$ is the name of the 
file, which is the to-do list. 

In line 120, we use another 
BASIC statement, PRINT#, 
which sends information to 
the disk drive. PRINT# is simi- 
lar to PRINT, except that it 
prints information to disk in- 
stead of to the screen. The 
first piece of information we 
send to the disk is the num- 
ber of items in the to-do list— 
the value of the counter X. 

Line 130 uses a FOR-NEXT 
loop and PRINT# to send the ar- 
ray 1$(X)—the items in your to- 
do list—to the disk. 

After all the necessary infor- 
mation is sent to the disk, you 
must close your file in line 
140. You can now turn off the 
computer, knowing that your 
information is safely stored on 
disk, ready to retrieve when 
we look at that next month. 

Here's a complete listing of 
the program with The Automat- 
ic Proofreader checksums. 
AM 10 PRINTCHRS$ (147) 

GQ 26 DIMI$(160):PRINT" 
{SPACE}NO MORE THA 
N 160 ITEMS!":PRIN 
T"{DOWN} PRESS ANY 
KEY TO BEGIN." 
GETAS$: IFAS=""THEN3 
6 


PRINTCHR$ (147) 
X=X+1l:INPUT" TO DO 
"ZIS(X) 

IFIS (X) ="""THENX=X~ 
1:GOTO8G 

GoTO46 

PRINT 

FORT=1TOX: PRINTIS ( 

T) :NEXT 

GC 166 INPUT" {DOWN}NAME 
{SPACE}OF LIST TO 
SAVE";LS$:IELS="" 

THENEND 

OPEN1,8,1,L$ 
PRINT#1,X 
FORT=1TOX: PRINT#1 
,1$(T) :NEXT 

CLOSE1 o 


BE 76 
EM 86 
KK 96 


PA 116 
QA 120 
FR 130 


BD 146 


Gazette 
Index 


Everything’s included! 
Features, games, reviews, 
education/home applications, 
programming, bugswatter, 
feedback, and columns! 


A superb interface includes pull- 
down menus, help screens, and 
keyboard, joystick, or mouse con- 
trol. Features include super-fast 
searching and sorting capabilities. 
An options screen allows you to 
choose text colors, drive number, 
and input device. And there’s full 
documentation on disk. 


Choose from three modes of opera- 
tion—browse for quick scanning, 
view for detailed information and 
descriptions, and edit for adding 
items from upcoming issues—and 
print to any printer. There’s even a 
turbo-load option for maximum 
disk-access speed. 


ORDER YOUR 
GAZETTE INDEX 
TODAY! 


(MasterCard and Visa accepted on 
orders with subtotal over $20.) 


To order, send $7.95 per disk, the 
quantity of disks ordered, check 

or money order,* your name and 

complete street address: 


Gazette Index 

324 West Wendover Avenue 
Suite 200 

Greensboro, NC 27408 


*Please add $2 shipping & handling ($5 foreign) for 
each disk (residents of NC, NJ, NY please add appli- 
cable sales tax; Canadian orders, add 7% goods 
and services tax). 

All payments must be in U.S. funds. Please allow 4 
weeks for delivery. 


Fast Action Arcade Style Game 
De for the Commodore 64/128+1541 


S/H in Canada $5 and $10 for all others. 
— American Currency Only — 


acer Merostorm Sortware. 
Order to: Box 1086, Sidney, MT 59270 


Circle Reader Service Number 289 


COMPUTER REPAIR sxe 


C-64: $40.00 1541: $54.95 64C: $50.00 
1541-Il: $64.95 C128:$64.95 6C128D: $74.95 
1581: $64.95 ETC. 

WE ALSO REPAIR IBM Clones, Sega, Genesis, Nintendo 


For more info cal: BEAR TECHNOLOGIES 


Computer Sales, Service 6 Repair 
xis) 1005 McKenn Street, Philadelphia, PA 19148. esi] 
215-336-5295 1-800-755-5295 


Circle Reader Service Number 152 


ReEcorp FILER | “Record Keeper = 202 oasracers pes record. Disk record capacity 


cele 1541=570; 1571=745. ** Record Printout | or 2 columns. ***Mail 
FOR BUSINESSOR | Label Printout 1, 2, or 3 columns. NO SET-UP-BOOK/MANUAL 
PERSONAL USE. NEEDED BUILT-IN INSTRUCTIONS-ALL YOU DO IS TYPE. Write- 
Our easy to use Q Printer | Read-Edit-List-Print-Delete; Fast Search by 4 methodv6 types + 
File Maker lets youenter | "Unique Search searches and/or print from any set of unique letters in 
your own printer's code or | record. CORRECTION Routine restores filevlimited power safeguard. 
use as is with an Okimate | PRINTOUT BY DATA FROM ANY OF 9 FIELDS, FIELD/CHARAC- 
20 or Okimate 180 printer. | TER SIZE; Name/32 Address/32 City/25 State/20 Zip/l0S.S or I.D/11 
Standard or Italic print. Phone #/12 Remark 1/30 Remark 2/30 total 202 Characters 
Screen for Color or Black and White 
NTERPRISES NOTHING HIDES FROM RFI - RELAX - LET RFI DO THE WORK 
FOR YOU! BUILD A LIBRARY OF LIST DISKS WITH RFI. 
Cost = $39.95 + $4 S/H USA; Canada and Mexico + $6 S/H; Overseas 


THB i 
Fee Nec apoiatza | + $10 S/H: Check or Money Order Only! 2 to 5 weeks delivery 


KeyDOS ROM Version 2 is here! 


The KeyDOS ROM is a chip for the empty socket inside your C128 that adds more than 40 
powerful features. KeyDOS is available instantly as soon as you switch on your 128! 
KeyDOS is loaded with useful tools to simplify file access on multiple drive systems without typ- 
ing file names—all major DOS functions included. Select multiple files for copying, viewing, 
printing, renaming or scratching, ASCI/CBM/Screen code converter. Full support for 1581 
subdirectories. Built-in RAMDOS for REUs up to 2MB. New GEOS SupeRBoot, 

Alarm clock. Disk editor. Powerful debugger. 
Only $32.50. Satisfaction Guaranteed! Write for more information. 
Enhance your system with the speed and convenience that KeyDOS provides! 


Antigrav Toolkit, PO Box 1074, Cambridge, MA 02142 
Shipping outside of US, Canada and Mexico add $3 


Circle Reader Service Number 244 


AMIGA & COMMODORE 
™ CUSTOM CHIPS 
and 
REPLACEMENT PARTS 


Lowest Prices Around 

| ON THE GRAPEVINE GROUP INC. 
3 CHESTNUT STREET, SUFFERN, N.Y. 10901 

ORDER LINE: 1-800-292-7445 / FAX: (914) 357-6243 
INTERNATIONAL ORDER LINE: (914) 357-2424 

Write or call for prices 


Logo is the property of Commodore Business Machines. Inc. 


Circle Reader Service Number 159 


Bers 24. 95 plus $3 Shipping and 
Sliders e Handling in the U.S.A. 


MACHINE LANGUAGE 


Jim Butterfield 


ASSEMBLER 
TRICKS 


Most machine language mon- 
itor programs contain tiny as- 
semblers that will help you to 
write machine language 
code. As you try more ambi- 
tious coding projects, you'll 
move along to a full-scale, sym- 
bolic assembler. 

The big assembler packag- 
es give you more help in cod- 
ing. Perhaps more important, 
they allow you to save source 
code that you have written. As 
the project develops, you can 
recall this source code and ed- 
it it—adding, subtracting, or 
changing text as appropriate. 

In this column, I'll talk about 
one aspect of a symbolic as- 
sembler: the asterisk (*) char- 
acter. Most programmers will 
tell you that the asterisk 
means “here” or, more specif- 
ically, “the assembler's work- 
address pointer.” 

As the assembler works 
through your source code, it as- 
signs the data it is building to 
some location in memory. As 
more data is generated, the lo- 
cation moves along to a high- 
er address. The asterisk sig- 
nals the current working ad- 
dress. Often, the asterisk is 
used in BASIC-like assign- 
ment statements. 

You can set the working ad- 
dress to a specific value. 
Thus, the command *=$2000 
means “assign data starting at 
address hexadecimal 2000." 
Such a command is often 
seen at the start of a source list- 
ing, and it causes the assem- 
bled program to be placed at 
the named address. Some as- 
semblers prefer to do this us- 
ing the keyword EQU for 
(equate). 

If you wanted to skip over a 
number of bytes of memory, 
you might code something 
like *="+8. This works much 
like BASIC’s X=X+8. As the as- 
sembler does its work, it obe- 


The asterisk signals 
the current 
working address as 
the assembler 
works through your 
source code. 

G-18 COMPUTE OCTOBER 1993 


diently hops ahead. We are 
saying to the assembler that 
we don't care what the con- 
tents of these bytes are but to 
just make room for them. 
Some assemblers prefer to do 
this using the keyword BSS 
(Block Sequential Storage). 

One of the benefits of a sym- 
bolic assembler, as the name 
suggests, is that certain parts 
of the program may be identi- 
fied with symbolic names, or 
labels. A large number of la- 
bels, however, can slow down 
an assembly. Programmers 
sometimes like to reduce the 
number of labels by means of 
asterisk addresses. A quick 
loop might be coded as seen 
in the following example. 


LDA MESSAGE,X 
INX 

CMP #$0D 

BNE *-6 


The branch will go back to 
the LDA instruction. You must 
be careful here because not 
all assemblers do precisely 
the same calculation. Know 
your assembler, and test it if 
you're not sure. 

A label can be attached to 
a point within a program by 
simply placing it at the left 
side of the line, such as 
LOOP LDA MESSAGE,Xx. 

But some programmers 
don’t want to glue the label 
and the instruction together. 
They reason that they might 
want to add another instruc- 
tion at the top of this loop. If 
so, they'd need to do some 
awkward editing. They would 
prefer to use the asterisk and 
code as in the following lines. 


LOOP =* 
LDA MESSAGE,X 


The effect is the same as the 
previous single line, but the as- 
terisk makes things much 
more flexible. 

Perhaps the most elegant 
use of the asterisk is to allow 


the length of a string or data 
area to be calculated automat- 
ically. Here's the source 
code for a small program. 


120 *=$2000 

130 LDX #0 

140 LP1 LDA MSG1,X 
150 JSR $FFD2 

160 INX 

170 CPX #M1LEN 

180 BNE LP1 

190 LDX #0 

200 LP2 LDA MSG2,X 
210 JSR $FFD2 

220 INX 

230 CPX #M2LEN 

240 BNE LP2 

250 RTS 

300 MSG1 .ASC “HELLO” 
310 .BYTE $OD 

320 M1LEN = *-MSG1 
330 MSG2 .ASC “GOODBYE” 
340 .BYTE $OD 

350 M2LEN = *-MSG2 


Lines 320 and 350 show 
the length-calculation trick. 
Effectively, they say to calcu- 
late the difference between 
here and the start of the mes- 
sage. The assembler will obe- 
diently calculate values of 6 
and 8 for the two string 
lengths. Later, if you wanted 
to change HELLO to GREET- 
INGS—or BON JOUR or 
GUTEN TAG—just type it in, 
and the assembler will figure 
out the revised numbers for 
you. 

The above program, which 
outputs HELLO and GOOD- 
BYE, isn't too exciting as a 
type-in project, but | won't in- 
clude a BASIC version with 
POKEs this time. If you want 
to try entering the above 
code and have only a simple 
(nonsymbolic) assembler, 
you'll find the following sym- 
bol values useful. 


2002 LP1 

2004 LP2 

2006 MSG1 

2008 M1LEN 

2012 MSG2 

2014 M2LEN a) 


The Gazette 


 Spcceamiatgad 
ony 


AG 


Manager 


Harness the productivity 
power of your 64 or 128! 


Turn your Commodore into 

a powerful workhorse, keep track 
of finances, generate reports 
in a snap, manage your 
money in minutes— 

all with the 

Gazette Productivity 
Manager! Look at all 
your 64/128 Productivity 
Manager disk contains. 


GemCalc 64 & 128— 

A complete, powerful, user- 

friendly spreadsheet with all 
the features you’d expect 
in an expensive commercial package 
(separate 64 and 128 versions are included). 


Most commands can be performed with a single keypress! 


Memo Card—Unleashes the power of a full-blown 
database without the fuss! Nothing’s easier—it’s a 
truly simple computerized address file. Just type in 
your data on any one of the index cards. Need to edit? 
Just use the standard Commodore editing keys. 
Finished? Just save the data to floppy. What could be 
easier? 


Financial Planner—Answers all of those questions 


YOUR GAZETTE 
PRODUCTIVITY 
MANAGER 
TODAY! 


(MasterCard and Visa accepted on orders with subtotal over $20). 


LCYES! Please send me __ Productivity Manager disk(s) 
($14.95 each), 
Subtotal 


concerning interest, investments, and money manage- 
ment that financial analysts charge big bucks for! You 
can plan for your children’s education and know 


Sales Tax (Residents of NC and NY please add appro- 
priate sales tax for your area. Canadian orders, add 
7% goods and services tax.) 

——— Shipping and Handling ($2.00 U.S. and Canada, $3.00 


exactly how much it will cost and how much you need 
to save every month to reach your goal. Or, decide 
whether to buy or lease a new car. Use the compound 
interest and savings function to arrive at accurate 
estimates of how your money will work for you. 
Compute the answer at the click of a key! 


DON’T MISS OUT ON THIS 
POWERFUL WORKHORSE! 


surface mail, $5.00 airmail per disk.) 
—_ Total Enclosed 
— Check or Money Order — MasterCard — VISA 


Credit Card No. 


Signature 


(Required) 
Daytime Telephone No. 


Name 


Address 


City 
State/ 


3 2IP/ 
Province Postal Code 


Send your order to Gazette Productivity Manager, 
324 W. Wendover Ave., Ste. 200, Greensboro, NC 27408. 


G-20 


Let's examine 
what it takes 

to program other 
computers and 
game machines. 


PROGRAMMER’S PAGE 


Randy Thompson 


LOOKING OVER 
THE FENCE 


Ever wonder what it's like to 
program computers other 
than the 64 or 128? For start- 
ers, your machine comes with 
BASIC installed, but the Ami- 
ga, Macintosh, and MS-DOS 
clones don't. If you want to run 
BASIC on any of these ma- 
chines, you must purchase a 
separate BASIC compiler. 
The Amiga has several ver- 
sions of BASIC available. Ear- 
ly machines came with ver- 
sions of Microsoft BASIC, but 
Microsoft used some poor pro- 
gramming practices, and its 
BASIC interpreter won't work 
on current Amigas. Fortunately, 
other Amiga BASIC compilers 
are of higher quality. More im- 
portantly, these other BASICs 
are not interpreters; they are 
compilers. This means your pro- 
grams are compiled into fast- 
executing machine language. 
The Amiga also has some spe- 
cialized versions of BASIC for 
programming games. 
Many PCs are still sold with 
a BASIC interpreter that loads 
from disk, such as GW-BASIC. 
There's even a language 
called True BASIC that's avail- 
able for the Amiga, Macintosh, 
and PC. Any program written 
in True BASIC can be run on 
any computer equipped with 
True BASIC. However, BASIC 
is rarely the programming lan- 
guage of choice these days. 
The most popular language 
now is C, and this includes its 
object-oriented offspring, 
C++. Pascal and its close rel- 
ative Modula-2 are also popu- 
lar. None of these languages 
come free with a computer. 
The one language that all 
computers must support in 
one fashion or another is ma- 
chine language. Programming 
in machine language on a 64 
or 128 requires an assembler 
(unless you prefer coding 
directly to memory through 


COMPUTE OCTOBER 1993 


POKE statements or using a 
machine language monitor). 

You need an assembler to 
write Amiga, Macintosh, and 
PC machine language pro- 
grams as well. Because BA- 
SIC is the operating system for 
the 64 and 128, many assem- 
blers let you use your comput- 
er's built-in BASIC editor to 
write machine language pro- 
grams. You must use a text ed- 
itor to create machine lan- 
guage source code on other 
computers. 

Both the Macintosh and the 
Amiga use Motorola's 68000 
family of CPUs. This family con- 
sists of the 68000, 68010, 
68020, 68030, and 68040. 
The higher the number, the 
newer and more powerful the 
CPU. All of these CPUs have 
basically the same instruction 
set, and all support the instruc- 
tions of their lower-numbered 
siblings. These chips are in- 
credibly powerful when com- 
pared to the 6502. For exam- 
ple, a lowly 68000 has 16 reg- 
isters, each of which can hold 
a 32-bit value (any number up 
through 4,294,967,295). The 
6502's 8-bit A, X, and Y regis- 
ters, on the other hand, can 
hold a number from 0 to 255 
only—and think what you can 
do with that! 

The Intel chips found in PCs 
are a diverse bunch. The orig- 
inal 8088 is actually less pow- 
erful than the lower-numbered 
8086 because it uses an 8-bit 
data bus while the 8086 has a 
16-bit data bus. 

The 80286, 80386, and 
80486—often referred to as 
simply the 286, 386, and 486— 
quickly replaced the older 
8088 and 8086. The 386 was 
the first of the group to have 
32-bit registers like the 68000. 
The main advantage of these 
chips is raw speed. The 486, 
for example, can run at an 
amazing 66 MHz. In contrast, 
the 6510 in a 64 runs ata 
mere 1 MHz. 

Did you know that game ma- 


chines are really computers? 
SEGA Genesis, for example, 
uses the same 68000 proces- 
sor as the Amiga 500. 

The old 8-bit Nintendo uses 
a 6502, of sorts. It's a modified 
version of that chip that's fast- 
er but contains fewer instruc- 
tions. The SNES uses a 65816 
CPU that's closely related to 
the 6502. It is, in fact, a 16-bit 
version of that chip. So, if 
you've got 64 or 128 machine 
language experience, you're 
in a good position to become 
a Nintendo programmer. 

Nintendo's Game Boy uses 
a Z80 CPU. That's the same 
microprocessor found in old 
CP/M computers and the dis- 
continued Timex-Sinclair com- 
puters. The SEGA Genesis 
has a Z80 in it as well, but it's 
mainly used to control the ma- 
chine's FM sound chip. 

Since they don't have key- 
boards and disk drives, you 
might wonder how these 
game machines are pro- 
grammed. The answer? They 
use other computers. 

Most development systems 
(as they are called) are based 
around MS-DOS computers, 
and you use what's called a 
cross compiler to write your 
code, A cross compiler is a 
compiler or assembler that gen- 
erates code for a machine 
that is different from the com- 
puter you are using. For exam- 
ple, you might use a PC to 
write and assemble 68000 
code for a SEGA Genesis. 
(Some companies have even 
been known to develop 64 
code on the PC.) You then use 
a special hardware interface 
to download the code to the 
game machine where you can 
run it and test your game. 

With such expensive and 
specialized equipment, it’s no 
wonder you don't see very 
many hobbyists hacking out 
games for the SNES or SEGA 
Genesis. Fortunately, all you 
need to program the 64 or 128 
is to own one. o 


ARTHRITIS 
DOESN'T 
WAIT FOR 
YOU TO 
GET OLD. 


You don't have to be old to get 
arthritis. It can happen to anyone at 
any age. If you notice any of the fol- 
lowing warning signs, consult your 
doctor or call your local Arthritis 
Foundation chapter. Early diagnosis 


and treatment can make a difference. 


Swelling in one or more joints 
Early morning stiffness 

Weight loss, fever or weakness 
combined with joint pain 
Recurring pain or tenderness in 
ajoint 

Inability to move a joint normally 
Redness and/or warmth in a joint 


Symptoms persisting more than 
two weeks 


Get the facts about arthritis. 


Contact your local chapter for a free 
brochure or call 1-800-283-7800. 


& 


ARTHRITIS 
FOUNDATION® 


Your Source 
for Help and Hope @ 


C64/128 PUBLIC DOMAIN SOFTWARE 
REQUEST FREE CATALOG or send $2 for sample disk and catalog (RE- 
FUNDABLE). Categories include education, utilities, games, business, 
PRINT SHOP graphics, pre-tested programs and more. Rent for 75¢ or 


buy as low as $1.00 per disk side or for 80¢ for 70 or more. $20 order 
gets 4 free disks of your choice. 
NEXT DAY SHIPPING! SINCE 1986 


= CALOKE INDUSTRIES (Dept. GK) === 
x PO BOX 18477, RAYTOWN, MO 64133 / 


Circle Reader Service Number 181 


DEPENDABLE SERVICE FOR YOUR COMMODORE! 
C-64, 1541, C-128, or 1571:==FAST TurNaROUND! 


$25 °° pLus parts AUTHORIZED COMMODORE 
Send computer* or drive with name, ad- SERVICE CENTER 
dress, phone, & describe problem. We'll zs ke ke ek 
call with parts estimate, then repair and 90 DAY WARRANTY 
return to you insured by UPS. Payment ON ALL REPAIRS 
can be COD or VISA, M/C. Minimum + =" 
charge, estimate only is $20. * Include power supply. 

503 East St. Dept. C 

TYCOM Inc. 


Pittsfield, MA 01201 (413) 442-9771 


Circle Reader Service Number 242 


THE WING. €. i 

A TALE OF NGS, 6 CIRSE a 

C-64 or C-128 in 64 mode 

ARCADE/ROLE PLAYING GAME 
Assume the role of Circe and Pegasus! 
Battle wizards and dragons! es a 
$19.95 Check or Money Order ( ) d 
CREATIVE PIXELS LTO. ff 
P.O. BOX 592, LIBRARY, PA 15129 


Circle Reader Service Number 113 


Label Maker- Use 11 pre-designed labels or create your own, floppy & micro 
disk labels, audio & video cassette labels, and more. Use your printer's font and 
je] color capabilites. Both Commodore 64 and 128 versions included. - $19.95 


Special - both for only $35.00 


Mail List Manager - Makes mail list management a snap! Print one record ata time, pick and choose 
for exporting or printing, or print the entire list. Holds 300 records for each C64 list, 1000 for C128, transfer 
between lists. Use new label designs created with Labe! Maker. Both 64 and 128 versions included - $19.95 
SHIPPING: - U.S. $4.50, Canada $5.50, intl. orders $12.00. Int. orders paid by credit card or Canadian 
ostal money order only. Write for free catalog of Software and Leroy’s Cheatsheets. 
Keystone Software Dept.G P.O. Box 8369 Pittsburgh, PA. 15218 
412-243-1049 Fax: 412-731-2460 Hours: 9 to 5 Eastern Time 


Circle Reader Service Number 170 


Upgrade your Commodore system 
Refurbished Hardware New APRO 
: s OTHER 647i 


N.Sheridan Mall Po: 
DOWNSVIEL, O 

Allow 4-6 weeks for delis 
Cataloge disk on 64 format Fz 


A handful of 


are not about to let 


G-22 


GEOS 


Steve Vander Ark 


INTO THE BREACH 


What's all this talk about GEOS 
users throwing in the towel and 
giving up their 64s and 128s? 
It's not time for that. 

True, there are fewer and 
fewer magazines devoted to 
the Commodore, but that's no 
reason to call it quits. Besides, 
users just recently have start- 
ed anew magazine specifical- 
ly for GEOS. It's a very nice 
publication called geoV/S/ON. 

While Berkeley (now called 
GEOWORKS) no longer 
writes software for 8-bit 
GEOS, users again have 
leaped into the breach and 
are turning out all kinds of 
great programs. Of course 
there are still a number of com- 
panies such as Creative Micro 
Designs, RIO Computers, The 
Soft Group, and others that 
are still coming out with sur- 
prisingly high-tech hardware 
for lowly 64s and 128s. 

OK, | hear you asking me 
what the GEOS universe will 
look like in a year or two, What 
is there still to look forward to? 
Here are a few things | think 
might be waiting for us not too 
far down the line. 


Gateway NT. If you follow the 
wacky world of Microsoft and 
its choke hold on the IBM- 
clone world, you will recognize 
that NT means “new technol- 
ogy.” | think that if Jim Collette 
ever sits down with Gateway 
and pushes it to the limits, we 
could see a whole new level of 
sophistication in a basic sys- 
tem manager program. 

The concept of pseudo multi- 
tasking has already been giv- 
en life with Gateway’s Switch- 
er and the task switcher in 
geoWizard. Theoretically, you 
can store as many ‘'‘contexts” 
as you have room for in your 
RAM device. Maybe those lit- 
tle-used function keys could 
be dragged into the act to let 
you choose any of up to eight 
jobs in progress. 


COMPUTE OCTOBER 1993 


Along with that, we should 
see the development of a 
print spooler, a system which 
feeds document information to 
the printer to free your comput- 
er for other uses. This spooler 
uses a RAM device to store 
the data temporarily before it 
rickles out for printing on 
your 9-pin printer. 


Screen savers. Yeah, yeah, | 
know screen savers are frivo- 
lous. | know that simple blank- 
ing can protect your monitor 
screen perfectly well. | know 
hat | don’t actually need to 
see little fish or fireworks bright- 
ening up my monitor, but— 
and | hate to admit it—I love 
a good screen saver. It's a lot 
of fun to mess with them, to 
give them just the right pizazz. 
This miracle of modern comput- 
er science would almost cer- 
tainly require a RAM device to 
store the information it needs. 


Programmers. More programs 
from people like Irv Cobb and 
Paul Murdaugh (1 could list a 
whole lot more people here), 
truly clever and dedicated 
GEOS programmers who just 
keep going on doing things 
once thought impossible or 
never even dreamed of at all. 
They never seem to run out of 
good ideas for GEOS utilities, 
from Irv's program to alter the 
system font to Paul's outstand- 
ing DualTop. These people 
are the cutting edge, folks. 


GeoPublish 128. No, it won't 
be called that, and it won't be 
coming from California. No, 
this eagerly awaited program 
is being developed by Mau- 
rice Randall, who lives an 
hour away from me here in 
Michigan. He’s the guy who 
wrote geoSHELL. If he ever 
gets this project finished, Mau- 
rice will have made an awful 
lot of people very happy. As of 
this writing, the project was 
still a long way from comple- 
tion, though, and who knows? 


Online services. | really hate to 
say it, but | get the impression 
that America Online (Quantum- 
Link's parent company) would 
be just as happy to see Q- 
Link die. The death blow 
could have been announced 
by the freezing of the librar- 
ies—which occurred in Febru- 
ary. This problem, according 
to an inside source, could 
have been fixed quickly and 
easily had certain data been 
made available to those who 
could make the repairs. 

As the months went by, no 
one could find the time to 
pass that information along, 
and the problem remained. A 
lot of users have decided the 
solution isn't worth waiting for 
and have left Q-Link. 

For me, the very thought of 
that treasure house of files 
disappearing is enough to 
make me cry. Heck, there is 
so much in those libraries that 
it will be a long time before | 
run out of things to download. 

Of course, all these avid 
Commodore users will have to 
go somewhere, and it looks 
like GEnie is where many of 
them are ending up. The Flag- 
ship (that's GEnie's Commo- 
dore support area) has rapid- 
ly growing libraries of GEOS 
files, and many of the best 
programmers have already 
switched to GEnie to upload 
their work. Next month's col- 
umn will be a GEOS user's 
guide to GEnie; I'll give you a 
better idea of what the Flag- 
ship is like at that time. 

There are a lot of exciting 
things still happening in this 
wonderful corner of the com- 
puter universe. I'm sure that 
I'm not seeing everything 
dead on as | peer into the fu- 
ture here. Hey, I'm just guess- 
ing by what I’ve been hearing 
lately. What | certainly don’t 
see, however, is the end of 
GEOS on the 64/128. This sys- 
tem is just too good and we us- 
ers are just too devoted for 
GEOS to die anytime soon! 0 


@|FOR THE C64 AND 
C128 IN 64 MODE, fH 


io s 


i Bephis Machine 


S$ _MACHIN FGM) IS AN “ALL-1N-ONE™ SAREHGS 
THE C=64,. WHAT CAN BE RERTED WITH FGm IS 
ht) 16Y YOUR IMAGINATION, ST A FEW EXAMPLES: 


WORKS WITH 
S41, 15718 
&1581 DRIVES 


FUN GRAPHICS mi 
HI-RES SCREENS 


AY ---$3.50 EA 
R C64 IS SHIPPED 


FOLLOWING DISK 
FGm FONTS OUER 3 


> 


FGM QUERLAY TEMPL 
STATE COMPUTER FOR u 
FGm UPDATE DISK UI 


PLEASE ADD FO 
FOREIGN ORD! nS 
AGA 


U.S. 


T $5 
KEYBOARD OVERLAYS 
64 1S SENT--$5,00 
0 FGM U6,.S--$2.00 


mm 
Se 
BF De ow DDH 
Se 


> 
2>' 


The FGM Connection, P.0.Box 2206, Roseburg, OR. 97470 


FOR MORE INFORMATION CALL 503-673-2234 


No Wild, No Wildlife. 


Polar bears, musk-ox, grizzlies, caribou — more animals than 
you'd find in Yellowstone — can be found on the magnificent 
coastal plain of the Arctic Refuge in Alaska. Unfortunately, 
this portion of our last arctic wilderness has caught the eye of 
the oil industry. Right now Congress is considering proposals 
that would allow the oil companies to drill there, even though 
reports indicate there’s less than a one-in-five chance oil 
would be found. 


If we allowed drilling in the region, we would jeopardize the 
culture of the native Alaskans and untold wildlife, including a 
herd of 180,000 caribou. Our last arctic wilderness would be 
despoiled. 


The Sierra Club works to save wildlife by saving the wilder- 
ness. We have a history of victories. And we believe 
with your help, this arctic wilderness will remain 
\ 2) an invaluable refuge. 


A 


For information on how you can help: 


SIERRA CLUB, DEPT. AR, 730 POLK STREET, SAN FRANCISCO, CA 94109, (415) 776-2211 


SOFTWARE CLOSEOUTS 


For Commodore 64 & 128 
ANY ITEM IN THIS AD.... ONLY $5 


BUY 10, GET 1 EXTRA FOR FREE!! ALL PACKAGES ARE NEW SEALED BOXES. 
SUPER EXPANDER 64, STARCROSS, ALCON, UNDER FIRE, MACBETH, RASTAN,| 
BUBBLE BOBBLE, PET EMULATOR, ARKANOID, ARKANOID 2, QIX, SKY SHARK, 
CHAMPIONSHIP BASEBALL, DAMBUSTERS, DEADLINE, ONE MAN & HIS DROID, 
PLASMATRON, PRO-GOLF, SPITFIRE ACE, HELLCAT ACE, SUSPENDED, ZORK 2,] 
ZORK 3, SILENT SERVICE, RENEGADE, ARTURA, BUTCHER HILL, CONFLICT IN 
VIETNAM, REVENGE OF DEFENDER, FINAL ASSAULT, PRESIDENT ELECT, 
GHOSTBUSTERS 2, SKATE WARS, PUFFY'S SAGA, CHESSMASTER 2100, 
SONGWRITER, TERROR, SUSPECT, GHOSTWRITER 128, RICK DANGEROUS, 
T.V. SPORTS FOOTBALL, EASY SPEECH, SPACE HARRIER, M.A.C.H., F-15 
STRIKE EAGLE, AIRBORNE RANGER, RAMBO 3, FAST BREAK, ACROJET, 
HEROES OF THE LANCE, NETHERWORLD, XENOPHOBE, DIE HARD, TAKE 
DOWN, THE GAMES:WINTER, THE GAMES:SUMMER, GOLDEN OLDIES, 
WORLD'S GREATEST FOOTBALL, MINDSHADOW, SKYFOX, PITSTOP 2, RAW 
RECRUIT, WHEEL OF FORTUNE 2, ACE OF ACES, TOP GUN, TOWER TOPPLER, 
MANIAC MANSION, BEYOND THE BLACK HOLE, ROADWARS, CALIFORNIA 
GAMES, DREAM TEAM, SERVE & VOLLEY, DEVON AIRE, FIREZONE, FIGHT 
NIGHT, JET BOYS, SUPER SUNDAY, BOP 'N RUMBLE, TRI-MATH, TECHNO-COP, 
MAGIC MADNESS, TURTLE TOYLAND JR., RAMBO, STATIS PRO BASEBALL, 
SGT. SLAUGHTER, CLUBHOUSE SPORTS, DIG DUG, CUTTHROATS, 
CROSSBOW, COMICS, KIILLED UNTIL DEAD, PS! 5 TRADING CO,, COMPUTER 
DIAGNOSTICS, PRO TOUR GOLF, COSMIC RELIEF, TAU CETI, GREAT ESCAPE, 
ARMY MOVES, CAPTAIN FIZZ, INTO THE EAGLE'S NEST, GAUNTLET 2, 
BOSTON COMPUTER DIET, BAD DUDES, BATMAN CAPED CRUSADER, 
MONDAY NIGHT FOOTBALL, ROBOCOP, EYE OF HORUS, MATH MAZE, 
DESIGNASAURUS, EUROPEAN NATIONS, PRO TENNIS TOUR, B.A.T., 
WARLOCK, THUD RIDGE, DARK CASTLE, SUMMER GAMES 2, WINTER GAMES, 
IMPOSSIBLE MISSION 2, SUB BATTLE, WORLD GAMES, TONY LARUSSA 
BASEBALL, PARALLAX, SPY VS. SPY, NINJA, PENSATE, QUEST OF THE SPACE 
BEAGLE, MAXWELL MANOR, PLAQUE MAN, BATTLESHIP, GUDERIAN. 


MENTION THIS AD TO RECEIVE THE $5 PRICING & FREE BONUS ITEM! 


VISAIMC ORDERS CALL TOLL-FREE [TO ORDER: Send check ot monay oer, includ 
shipping charges of $5 for 8 for Canada, 
1-800-676-6616 fall others, Califomia addressesmust include 7.25% 


sales tax. TO check for an item not listed 
here, or other info, call (805) 544-6616. 


COMPSULT LL SALES FINAL!!! SUPPLIES ARE LIMITED! 


WE HAVE LOTS MORE C-64/128 PLUS 
P.O. BOX 5160 TONS OF SOFTWARE FOR IBM, 
SAN LUIS OBISPO, CA 93403] APPLE, MAC, AMIGA, ATARI & MORE! 


Circle Reader Service Number 114 


If you start to feel 
your feet slide 


from under you, hang 


on! You could be 


G-24 


black hole. 


D'IVERSIONS 


Fred D'lgnazio 


INTO A DIGITAL 
BLACK HOLE 


Black holes are collapsed 
stars whose gravitational pull 
is so strong that anything near- 
by gets sucked into them. You 
may never visit one of these 
holes in outer space, but 
you're about to be pulled into 
what | call a digital black hole. 

Every day on the news we 
hear about industries switch- 
ing from traditional means of 
producing products (nondigi- 
tal) to a high-tech (digital) for- 
mat. Boundary lines between 
products are disappearing as 
articles race toward this digital 
black hole and begin blending 
and fusing. Here are some ex- 
amples of what | mean. 

TCI and Warner Cable Com- 
panies are working together to 
fashion a new standard for dig- 
itizing and compressing TV sig- 
nals. The companies envision 
a marriage of computers and 
cable TV that will offer subscrib- 
ers all the TV shows and mov- 
ies ever produced, online ac- 
cess to electronic shopping 
malls, video games, electronic 
newspapers, online university 
courses, and the ability to at- 
tend meetings via TV. 

US West will invest $2.5 bil- 
lion in Time Warner's cable 
and film operations, including 
Warner Brothers’ movie stu- 
dio, HBO, and cable franchis- 
es, This follows a pattern of con- 
vergence between the tele- 
phone and cable industries 
that has been developing in 
Great Britain for adecade and 
is now picking up steam in the 
U.S. The phone companies’ 
powerful digital switching de- 
vices will soon connect to ca- 
ble companies’ wide-band vid- 
e0 pipelines and make “com- 
pu-TV-phones” a reality. 

Microsoft is teaming up 
with Hewlett-Packard, Ricoh, 
Compaq Computer, Minolta, 
McCaw Cellular, Canon, NEC, 
and Northern Telecom to link 


COMPUTE OCTOBER 1993 


all office machines via Micro- 
soft at Work software. This pa- 
perless office would allow work- 
ers on-site and off-site to cre- 
ate and send work anywhere 
on the globe—or beyond. 

Newsweek magazine now 
publishes an Interactive News- 
week edition on tiny CD-ROM 
discs which fit inside a hand- 
held Sony player. Cox Enter- 
prises, publisher of the Atlanta 
Journal and the Atlanta Con- 
stitution, is joining BellSouth to 
create instant electronic clas- 
sified ads, news updates, 
stock quotes, sports results, 
and weather reports via tele- 
phone voice mail and mo- 
dems. Electronic newspapers, 
delivered via telephone at the 
breakfast table, are just 
around the corner. 

The proponents of these 
new technologies claim that 
fusing and linking all of our ma- 
chines into a single digital 
megamachine will make our 
lives much easier. In the 
1950s, we were told that tech- 
nology would make our lives 
easier, simpler, and more fun. 
We dreamed of more leisure 
time as laborsaving devices in 
glossy white enamel took over 
the menial household chores. 

Bong! It's 1993, and our 
lives have never been more 
complex, The machines that 
promised to become our will- 
ing slaves have become a 
new breed of round-the-clock 
taskmasters, Soon we'll enter 
the era of the “go-anywhere of- 
fice.” Digital fax machines, cel- 
lular telephones, subnotebook 
computers, programmable dig- 
ital assistants, and other labor- 
saving devices will see to it 
that we're on the clock, seven 
days a week. Anyone who 
wants us will be able to dial us 
up and even do a “geodata 
fix" on us. The digital black 
hole will start by sucking up all 
the world's machines, but it 
can suck up you and me, too! 

Can you imagine the world 
in a few years when today’s 


standard appliances have 
ceased to exist? This is a 
world in which the digital 
black hole has sucked every- 
thing into the floors, the walls, 
and the furniture. TVs will 
have become wallpaper, ex- 
cept that they will also be our 
telephones, our computers, 
and our newspapers and 
books. 

Much of family life will con- 
sist of people talking to and ar- 
guing over their electronic 
walls, using voice-zappers to 
split the surfaces into tiny pix- 
elated tiles of pictures inside 
pictures: sports channels, elec- 
tronic-mall channels, crime 
channels, real estate chan- 
nels, reality street channels, 
evangelical channels, well- 
ness channels, and so on. 

Video wallpaper will be so 
inexpensive that people will 
buy it for all four walls in order 
to keep the zapper arguments 
subhomicidal. Four people 
might each face a different 
wall of a room's four walls. 

If there are more than four 
people in the room, they 
could wear permanently mount- 
ed miniature earphones and 
minimikes in their mouths. 
This way, they could whisper 
commands to the magic 
screen on the wall and listen 
to its babble while remaining 
polite, inaudible, and insulat- 
ed from all social contact with 
family members and friends. A 
perfect evening at home will 
be spent in front of infinitely di- 
visible electronic hearths. 

This is an inevitable market 
just waiting to be digested by 
the technological juggernaut 
and the digital black hole. The 
real question is, Will this be 
progress? 

The digital black hole is out 
there, folks. It’s waiting for us. 
So, if you feel your feet start to 
slide or your ears start pop- 
ping, grab onto something 
heavy and hang on. It’s going 
to be one heck of a steep and 
slippery slope, folks! ia) 


PROGRAMS 


COINS 


By Maurice Yanney 
Everyone enjoys finding money ona 
street; it's like getting something for noth- 
ing. Of course, practically everything has 
its price, and this single-player arcade 
game for the 64 is no exception. As you 
maneuver about the screen picking up 
coins, four tanks will be shooting at you. 
Coins is written entirely in machine lan- 
guage, but it loads and runs like a BASIC 
program. To type it in, use MLX, our ma- 
chine language entry program. See “Typ- 
ing Aids" elsewhere in this section. 
When MLX prompts, respond with the 
following values. 


Starting address: 0801 
Ending address; 19D8 


Be sure to save a copy of the program 
before exiting MLX. 


Playing the Game 

After you load and run Coins, press the 
space bar or the joystick fire button to 
start the game. Use a joystick in port 2. 

The object of the game is to move 
about the screen gathering coins 
while doing your best to avoid the bul- 
lets fired by the tanks on each side of 
the screen. To collect a coin, just 
move over it. If you don’t have a joys- 
tick, you can control the figure on the 
screen by using the |, J, K, and M 
keys to move up, left, right, and down, 
respectively. 

There are three different coins that 
appear: pennies, nickels, and dimes. 
To complete the first level, you need to 
gather 25 coins of any denomination. 
Five additional coins are needed to 
complete each subsequent level. To ad- 
vance beyond level 5, you'll have to col- 
lect 50 coins. The sum that you collect 
doesn't matter as far as advancing to 
a new level, but you do get points for 
each dime, nickel, or penny. More 
about scoring later. 

In addition to the randomly appear- 
ing coins, watch for an infrequent 
smart bomb. Smart bombs clear the 
screen of bullets and temporarily stun 
the tanks, preventing them from firing. 
When you maneuver over a smart 
bomb, you'll receive a bonus bomb 
that appears at the top of the screen. 
Smart bombs are fired by pressing the 


space bar or the fire button. At the 
start of each game you have six smart 
bombs. An extra smart bomb is award- 
ed upon successful completion of a lev- 
el. Use the smart bombs sparingly in 
the opening levels. Once you reach lev- 
el 5, the action picks up, and smart 
bombs will be very helpful. 

As the tanks fire, bullets move from 
one end of the screen to the other. If a 
bullet hits you, you lose a player. If a 
bullet hits a coin, the coin disappears. 

As if dodging bullets weren't hard 
enough, you must also race the clock. 
A time bar appears at the bottom of 
the screen. If time expires, you lose a 
player. When you lose all your players, 
the game is over. 

You start the game with one player 
onscreen and three extras. The players 
remaining are displayed at the bottom 
of the screen. For each 10,000 points 
reached, you receive an extra player. 
For each penny you gather, you get 
100 points. A nickel will earn you 500 
points, and a dime is worth 1000 
points. You also get bonus points at 
the end of each level based on how 
much time is remaining. 

To pause the game, hold down the 
Shift key or press the Shift Lock key. 
To continue playing, release the Shift 
key or press the Shift Lock key again. 


COINS 


6861:6B 
0869: 36 
9811:19 
@819:02 
@821:8D 
6829:GC 
9831:37 
0839:EF 
G841:28 
@849:EE 
90851:61 
6859:68 
@861:15 
6869:G1 


OB 
32 
20 
ag 
21 
20 
ll 
19 
07 
26 
De 
AD 
4c 


GA 
C1) 
1E 
06 
DG 
BB 
26 
26 
18 
BE 
06 
DF 
84 


9E 
Cr) 
Ag 
26 
69 
26 
16 
18 
EF 
AD 
44 
De 
AE 


32 
80 
8D 
Ag 
20 
16 
03 
67 
88 
62 
4c 
26 
19 


38 
AG 
91 
06 
2E 
20 
8c 
18 
DG 
cg 
4D 
7A 
EG 


A4 
99 
38 
cs 
43 
7A 
A3 
FS 
B6 
93 
39 
BE 
28 


@889:E2 
G891:65 


19 
98 


AE 
29 


19 
Fg 


o5 
26 


99 
95 


EB 
E8 


98B9: 20 
@8C1:Dd 
@8C9:31 
G8D1:98 
@8D9:AD 


BB 
29 
16 
12 
DE 


16 
61 
AD 
4c 
19 


D9 
G1 
1A 
o8 
iS 


AD 
1E 
06 
G4 
06 


iF 
20 
20 
1l 
29 


F8 
E8 
cc 
A2 
AT 


@8E1:37 
G8E9:A9 
98F1:8C 
O8F9:ES 
G981:03 
G9G9:4A 
G911:09 
G919:FA 
6921:62 
9929:01 
9931:8F 
9939:D8 
9941:99 
9949:29 
@951:FE 
G959:AE 
G961:66 
9969:8E 
6971:B9 
9979: 26 


@999:D9 
G9A1:F1 
G9A9:FF 
@9B1:61 
@9B9:19 
99C1:04 
99C9:8D 
99D1:68 
@9D9:A9 
@9E1:05 
G9E9:AG 
@9F1:C9 
@9F9:02 
GAG1:19 
GAG9:1A 
GA11:CO 
@A19:AD 
GA21:35 
GA29:97 
GA31:AC 
GA39:16 
@A41:19 
GA49:63 
GA51:FO 
GA59:64 
GA61:61 
GAG69:AE 
GA71:8D 
GA79:FE 
GA81:09 
GA89:63 
GA91:FB 
GA99:1A 
GAA1:26 


GAF9:GE 
@BG1:AD 
GBG9:18 


11 
ol 
EF 
AS 
AC 
4a 
B9 
19 
FO 
99 
29 
19 
FB 
07 
GE 
69 
A2 
FS 
FA 
D5 
62 
D4 
EF 
CB 
68 
8D 
26 
Ag 
A2 
FE 
AG 
26 
1A 
66 
FC 
1A 
26 
AC 
16 
OF 
14 
18 
FD 
AQ 
88 
26 
o5 
1A 
8D 
FE 
4 
19 
6G 
4c 
FO 
68 
4F 
6B 
De 
85 
FE 
85 
AQ 
ag 
Bl 
FC 
A5 
pc 
18 
Do 


08 
OF 
FS 
29 
99 
AA 
18 
8D 
FA 
26 
OF 
6s 
97 
19 
20 
69 
Uy) 
GE 
Bg 
FS 
FB 
ag 
c8 
1) 
8D 
68 
ag 
G3 
Fl 
FB 
63 
1A 
GE 
14 
38 
FB 
ag 
c8 
26 
@5 
1a 
8D 
FC 
G3 
19 
69 
4c 
FG 
60 
4F 
‘FE 
De 
1A 
AD 
69 
1A 
F8 
8E 
D2 
38 
Dc 
1) 
FC 
FE 
FD 
E8 
04 
8D 
FG 
AG 


26 
4c 
19 
1F 
FA 
29 
69 
D8 
19 
97 
De 
AC 
EG 
9D 
9c 
26 
8C 
1A 
FB 
19 
AS 
6c 
E8 
A2 
FB 
AG 
15 
1A 
08 
8D 
20 
AQ 
1A 
AD 
E9 
19 
FF 
8C 


clei 


Ag 
cg 
63 
19 
1A 
co 
AD 
OF 
97 
AC 
16 
19 
03 
FO 
65 
G1 
AE 
8D 
1) 
99 
AD 
AS 
AQ 
Ag 
A2 
cB 
EG 
85 
GE 
69 
06 


OCTOBER 1993 COMPUTE 


PROGRAMS 


@B11:19 9D 58 37 E8 EO G8 


9B31:CO 48 DG E7 A2 96 BD 
GB39:18 99 58 37 C8 E8 EG 
@B41:D6 F4 A9 GO AB 99 CO 
@B49:C8 C9 4G DG FB AD OG 
@B51:AA BD F5 18 99 C3 37 
@B59:C4 37 98 18 69 68 AB 
@B61:E0 64 D® ED AY BG AB 
GB69:A9 18 99 E6 37 99 E7 
GB71:98 18 69 66 A8 E8 EG 
9B79:D@ EE 66 A2 G1 AG G1 
@B81:26 @A E5 A9 C9 AG 19 
@B89:1E AB A2 17 A@ BG 18 
6B91:6A ES AQ 98 AG 18 26 
@B99:AB AQ AG 8D E7 G7 AG 
@BA1:99 9D G7 88 D@ FA 66 
G@BA9:F3 8D F6 19 AO 26 8D 
OBB1:19 AQ9 1A 8D @6 1A AQ 
@BB9:8D EG 19 AM G3 8D El 
@BC1:A9 G6 8D DB 19 8D DC 
@BC9:8D DD 19 8D DE 19 8D 
@BD1:1A 8D DF 19 8D E2 19 
@BD9:6B 1A 8D 18 1A AQ 8E 
@BE1:12 1A 8D 15 1A A9 BG 
@BE9:13 1A 8D 16 1A AD 06 
OBF1:14 1A 8D 17 1A AG BA 
GBF9:E5 19 88 D@ FA AQ 56 
@CO1:E3 19 AD 42 8D E4 19 
9CO9:AG OG BO FO 18 99 CO 
G@C11:C8 C@ 49 DG F5 AD GB 
@C19:F8 G7 AD 15 DG B9 G1 
@C21:15 D@ AY G1 8D 27 DB 
@C29:00 8D 1B DO 66 AG 3F 
9C31:00 99 3F 63 99 7F G3 
0C39:BF 63 99 BF 2F 88 DG 
0C41:A®8 G6 A2 GB BD 46 19 
6C49:46 G3 E8 C8 C8 CB EG 
@C51:D@ F2 A@ 27 A2 69 BD 
9C59:19 99 CO 2F BD 76 19 
0C61:80 63 E8 C8 BD 60 19 
6C69:CG 2F BD 76 19 99 86 
9C71:E8 C8 C8 E@ 10 D@ DF 
@C79:06 A2 6G BD 58 19 C8 
9C81:99 C@ 63 C8 E8 EO 1G 
@C89:F2 AQ 1E BD 15 D@ 8D 
GC91:DG AI G5 A2 G4 9D 27 
@C99:CA DO FA AQ BD 8D FI 
GCA1:A9 GE 8D FA 97 AQ GF 
OCA9:FB 67 AQ BF 8D FC 67 
GCB1:AC E3 19 CO 9B BO G7 
GCB9:8C E3 19 28 ED OC 66 
@CC1:E4 19 CO 64 BG G7 CB 
@CC9:E4 19 20 ED GC 69 AC 
GCD1:19 CO 12 98 G7 88 8C 
GCD9:19 26 ED GC 66 AC E4 
@CE1:C®@ 29 96 G7 88 8C E4 
@CE9:28 ED 6C 66 AD 10 DG 
GCF1:1£ 8D 16 DG AB BB AD 
GCF9:19 18 6D E3 19 99 G2 
@DG1:G1 8D GG DB 98 BD 16 
GD899:8D 16 D@ AD E4 19 18 
@D11:E4 19 8D 81 D@ 69 AD 
GD19:D8 29 1D 8D. 18 DB AY 
@D21:8D @2 D@® AD 12 1A 8D 
6D29:D8 6G AD 16 DGB 29 1B 
0D31:18 D@ AY CE 8D 85 DB 
@D39:14 1A FG G8 AD 16 DG 


G-26 COMPUTE OCTOBER 1993 


9D41:04 


6D99:DG 
GDA1:2A 
@DA9:6C 
@DB1:C9 
@DB9:21 
@DC1:1A 
GDC9:EG 
GDD1:29 
@DD9:29 
GDE1:29 
@DE9: 29 
ODF1:FB 
GDF9: 2A 
GEG1:19 
GEG9:4F 
GE11:88 
GE19:04 
GE21:60 
GE29:A5 
GE31:69 
GE39:E4 
GE41:19 
GE49:B1l 


@E71:GE 
GE79:4C 
@E81:9D 
GE89:29 
GE91:99 
GE99:8F 
GEA1:19 
GEA9: G6 
GEB1:AC 
GEB9:19 
GEC1:60 
@EC9:19 
@ED1:19 
GED9:CO 
@EE1:GA 
GEE9:D9 
GEF1:D9 
GEF9:CD 
GFG1:18 
GFG9:AD 
@F11:19 
GF19:09 
GF21:6F 
GF29:8C 
GF31:1A 
GF39:B9 
@F41:26 
@F49:19 
OF51:69 
GF59:GB 
GF61:99 
GF69:GF 


GF89:19 
@F91:19 
GF99:19 
GFA1:6D 
GEA9: 66 
GFB1:D9 
GFB9:6D 
GOFC1:AD 
GFC9:19 


D9 
69 
18 
G1 
cD 
18 
6F 
DA 
FO 


DD 
2B 
B3 
9A 
AF 
EF 
E8 
7A 
F4 


OFF1:2¢ 
GFF9I:16 
1661:18 
1669:B9 
1611:66 
1619:AE 
1621:6E 
1629:29 
1631:A9 
1639:96 
1641:87 
10649:1A 
1651:C8 
1659:19 
1661:4C 
1069:C9 
1071:B9 
1679:8D 
1681:18 
1689:19 
1691:96 
1699:CD 
16A1:18 
16A9:GE 
10B1:DA 
1639: 66 
16C1:15 
16C9:C9 
16D1:61 
16D9: 20 
16E1:8D 
16£9:8D 
16F1:9D 
1GF9:26 
1161:a9 
1199:A6 
L1L1:F5 
1119:F8 
1121:19 
1129:64 
1131:61 
1139:8D 
1141:26 
1149:8D 
1151:8D 
1159: 26 
1161:69 
1169:FG 
1171:963 
1179:D6 
1181:1F 
1189:E6 
1191:c9 
1199:8D 


G2 
5D 
AA 
AG 
19 
Bl 
26 
66 
A2 
26 
FO 
c8 
F8 
D2 
Ol 
66 
69 
OA 
Dg 
19 
oS 
19 
96 
cD 
ag 
8D 
19 
ag 
GE 
1F 
26 
9D 
16 
19 
19 
8E 
AD 
EF 
EG 
69 
56 
19 
1A 
G1 
De 
55 
3c 
FO 
1A 
29 
97 
1A 
GA 
6c 


04 
EA 
2A 
92 
44 
28 
A2 
F9 
55 
AA 
17 
1h 
E6 
1c 
36 
AG 
7D 
EA 
74 
5A 
38 
99 
9E 
BG 
E2 
1F 
37 
36 
88 
85 
Bl 
FB 
2A 
A7 
26 
B4 
3D 
a4 
E7 
SE 
85 
a4 
14 
61 
65 
84 
GE 
D8 
F3 
AF 
A7 
AC 
FB 
26 


11A1:1A 
11A9:C9 
11B1:CE 
11B9:6C 
11C1:26 
11¢9:D0 
11D1:A9 
11D9:AD 
11E1:63 
11E9:69 
11F1:03 
11F9:A0 
1201:11 
1209:AA 
1211:20 
1219:26 
1221:26 
1229:1E 
1231:0A 
1239:CD 
1241:0A 
1249:AB 
1251:1A 
1259: 26 
1261:F6 
1269:8D 
1271:8D 
1279:26 
1281:1A 
1289:00 
1291:17 
1299:19 
12A1:16 
12A9:8D 
12B1:F5 
12B9:CA 
12C1:0E 
12¢9:8D 
12D1:17 
12D9:19 
12E1:88 
12E9:8D 
12F1:8D 
12F9:18 
1301:19 
1309:A8 
1311:66 
1319:1A 
1321:A0 
1329:66 
1331:1a 
1339: 22 
1341:A2 
1349:5 
1351:19 
1359:DC 
1361:96 
1369:8D 
1371:8D 
1379: 00 
1381:1A 
1389:8E 
1391:1A 
1399219 
13A1:FB 
13A9:B9 
13B1:26 
13B9: 26 
13C1:19 
1309: 08 


AD 
Bl 
06 
04 
wai, 
26 
26 
cg 
E2 
£2 
A2 
16 
62 
26 
8D 
A2 
AG 
09 
DD 
OF 
19 
1A 
@5 
19 
1A 
1A 
AG 
1A 
22 
OL 
19 
17 
16 
17 
9D 
17 
19 
16 
1A 
33 
1A 
18 
6c 
CA 
OF 
19 
CA 
@9 
19 
1A 
EO 
26 
GE 
38 
D8 
@D 
19 
19 
18 
1A 
8C 
19 
5A 
69 
FA 
DS 
26 
19 
69 
o9 


13D1:13 
13D9:4C 
13B1:C@ 
13E9: 20 
13F1:AC 
13F9:E8 
1461:AE 
1409:FG 
1411:19 
1419:12 
1421:1A 
1429:12 
1431:CE 
1439;1A 
1441:4A 
1449:19 
1451:6A 
1459:2A 
1461:62 
1469: 06 
1471:13 
1479:AD 
1481:4¢ 
1489:61 
1491:CD 
1499:15 
14A1:CE 
14A9:6D 
14B1:17 
14B9:1A 
14C1:D8 
14C9:6A 
14D1:F6 
14D9:69 
14E1:69 
14B9:AD 
14F1:1A 
14F9;1A 
1561:A9 
1569: 46 
1511:D9 
1519:C@ 
1521:AD 
1529:AD 
1531:19 
1539:8D 
1541:A9 
1549:A9 
1551:D8 
1559:F9 
1561:3F 
1569:05 
1571:E9 
1579: 68 
1581:A9 
1589:04 
1591:FO 
1599:D4 
15A1:A9 
15A9:@4 
15B1:FO 
15B9:A9 
15C1:04 
15C9:6F 
15D1:A9 
15D9:64 
15E1:0F 
1L5E9:FA 
15F1:64 
15F9:D4 


ce 
E9 
69 
B9 
EF 
ca 
GA 
93 
OA 
1A 
EE 
1A 
16 
FG 
8D 
8D 
18 
96 
8D 
8D 
1A 
14 
2B 
1A 
15 
1A 
15 
CE 
1A 
4A 
19 
A 
2A 
62 
I) 
16 
AD 
4c 
9G 
99 
19 
62 
D9 
Dg 
co 
B3 
3c 
6G 
FA 
18 
De 
16 
63 
AD 
96 
D4 
8D 
20 
65 
D4 
8D 
37 
D4 
8D 
c8 
D4 
8D 
8D 
8D 
AQ 


De 
co 
£9 
AG 
AE 
py) 
c8 
7c 
GA 
14 
1A 
12 
60 
AG 
19 
19 
OA 
AD 
1A 
1A 
E9 
EQ 
CE 
GA 
FG 
15 
CE 
1A 
G2 
D8 
D8 
69 
14 
16 
17 
38 
1A 
6D 
D9 
@2 
ao 
E8 
GA 
18 
DG 
Ag 
D9 
46 
1}-) 
co 
AD 
Dg 
D9 
19 
@1 
OF 
D4 
16 
@1 
69 
D4 
G1 
FO 
D4 
gl 
FF 
D4 
19 
D4 
8D 


26 
Do 
26 
4c 
19 
aC 
E8 
6G 
69 
69 
17 
4c 
1) 
AD 
18 
FC 
D8 
1A 
14 
2B 
8D 
8D 
1A 
18 
96 
4c 
1A 
AG 
8G 
98 
AD 
cD 
16 
AD 
4c 
02 
Ul) 
OE 
Ag 
DG 
3K) 
3F 
26 
G3 
66 
8D 
20 
BF 
A2 
c8 
19 
FO 
4c 
07 
Ag 
@5 
99 
44 
Ag 
@5 
c2 
Ag 
65 
c2 
AQ 
@5 
c2 
G6 
13 
D4 


AE 
06 
D2 
FA 
c8 
69 
EG 
AD 
2E 
EE 
@D 
17 
AD 
ne 
6D 
19 
9: 
18 
1A 
@D 
13 
14 
66 
69 
89 
4c 
4c 
Ur) 
AD 
18 
FA 
D8 
1A 
17 
68 
8D 
8D 
1A 
Go 
FA 
18 
De 
6S 
8D 
AQ 
E4 
ED 
62 
6G 
E8 
GA 
09 
49 
Da 
81 
D4 
8D 
16 
81 
D4 
16 
83 
D4 
16 
13 
D4 

16 

7; 

8D 
8D 


1601:D4 4C C2 16 8D G1 D4 AD 28 
1609:13 8D 04 D4 AI GB 8D B5 SD 
1611:D4 AQ FO 8D B6 D4 20 C2 BF 
1619:16 A9 4B 8D D8 19 4C 86 C6 
1621:17 A9 58 8D Gl D4 AY 81 57 
1629:8D 64 D4 A9 69 8D G5 D4 AF 
1631:A9 F@ 8D 66 D4 AY BF 8D 79 
1639:18 D4 A9 FG 8D DB 19 4C 39 
1641:66 17 60 A2 19 AOD BG 9D 79 
1649:FF D3 CA DO FA 68 26 DS 40 
1651:16 A9 20 AG BG 91 FB 60 9F 
1659:20 3B @E AI GG 29 75 OF 3B 
1661:20 55 G9 26 62 G9 20 89 17 
1669:6D 68 A2 17 AG G9 18 26 73 
1671:0A E5 A9 99 AG 19 26 LE B2 
1679:AB 66 A2 17 AG G9 18 26 D2 
1681:6A ES A9 Bl AG 19 26 1E 44 
1689:AB 66 20 AA 17 26 A8 BB E7 
1691:20 7C OB 26 64 GE 20 5D 46 
1699:18 A9 1F 8D 15 D@ 26 ED 13 
16A1:6C 20 59 16 A9 26 AG 1A 91 
16A9:99 34 G4 88 DG FA 60 26 GC 
16B1:E4 69 26 19 GA 26 4E GA OF 
16B9:20 83 GA 28 62 69 4C 78 62 
16C1:13 A9 GF 8D 18 D4 AY C8 CC 
16C9:8D D8 19 26 66 17 AY G5 FC 
16D1:8D DF 19 66 8A 85 FB A9 Fl 
16D9:64 85 FC CO OG FO 11 18 13 
16E1:A5 FB 69 28 85 FB A5 FC F3 
16E9:69 09 85 FC 88 4C DC 16 96 
16F1:66 AD DD 19 C9 O65 BY G8 D2 
16F9:A9 CO 8D D8 19 4C G6 17 87 
1761:A9 D4 8D D8 19 69 G1 DO BY 
1769:FC EE D8 19 AD D8 19 DG Fl 
1711:F4 66 38 AI GF ED D8 19 6E 
1719:8D DA 19 A9 27 ED D9 19 46 
1721:6D DA 19 98 3D C8 38 A9 DF 
1729:E7 ED D8 19 8D DA 19 AQ 27 
1731:63 ED D9 19 GD DA 19 96 BF 
1739:29 C8 38 A9 63 ED D8 19 6D 
1741:8D DA 19 A9 @G ED D9 19 2F 
1749:6D DA 19 96 15 C8 38 A9 C6 
1751:69 ED D8 19 8D DA 19 AY DF 
1759:08 ED D9 19 BD DA 19 96 66 
1761:61 C8 64 8D D8 19 AD OB B8 
1769:1A D@ 3D AD D8 19 18 6D 24 
1771:DB 19 8D DB 19 AD DC 19 95 
1779:69 G6 8D DC 19 A2 18 AG FF 
1781:61 AD DB 19 8D D8 19 AD 58 
1789:DC 19 8D D9 19 26 13 17 42 
1791:18 26 GA ES A9 G1 85 C7 97 
1799:AD DC 19 AE DB 19 28 CD 35 
17A1:BD A9 66 85 C7 26 4E 13 DF 
17A9:66 A@® GB AD 28 99 78 G4 27 
17B1:99 68 G5 99 GG G6 99 98 CA 
17B9:96 C8 DG Fl 6@ AC DD 19 EO 
17C1:C8 8C DD 19 A2 18 AG 24 OF 
1709:18 26 GA ES AY G1 85 C7 CF 


17E9:A9 


17F1:CA 
17F9:AC F7 19 AD F6 19 C9 F3 1E 


1829:99 34 64 CE 18 1A 66 20 AA 
OCTOBER 1993 COMPUTE G-27 


PROGRAMS 


1831:D1 15 AC DE 19 C@ 69 FO EL 
1839:69 C8 8C DE 19 AY F4 99 92 
1841:D5 67 60 26 G5 16 AC DE E4 
1849:19 F@ @8 AI 26 AC DE 19 68 
1851:99 DS 67 CO FF FG 64 88 G5 
1859:8C DE 19 60 AD OB 1A DO 4F 
1861:35 38 AD 66 1A FG 2F E9 2D 
1869:G1 8D 86 1A C9 63 DO B5 62 
1871:A9 AG 8D DB G7 C9 B9 DB OF 
1879:05 A9 AG 8D CF 67 A2 18 7B 
1881:A@ GE 18 20 GA E5 AD Bl C6 
1889:85 C7 A9 OG AE G6 1A 26 85 
1891:CD BD A9 GB 85 C7 6G 12 6B 
1899:26 54 49 4D 45 3A OD 12 2c 
18A1:24 36 36 36 36 30 36 20 BO 
18A9:43 4F 49 4E 53 3A 26 20 41 
18B1:2@ 12 26 4D 45 4E 3A 92 BY 
18B9:20 26 26 20 20 20 26 20 E9 
18C1:26 12 26 4C 45 56 3A 26 67 
18C9:26 20 6G 88 88 CO EG FO CB 
18D1:F8 FC FE FF 18 24 18 24 43 
18D9:66 BD 24 24 3C 7E Dl D5 C8 
18E1:D5 Dl 7E 3C 3C 7E C3 CF 38 
18E9:F3 C3 7E 3C 3C 76 E7 F7 1c 
18F1:F7 F7 62 3C @3 GC 38 CB 95 
18F9:08 3C 66 GB 42 G6 BB 81 CC 
1901:08 GG AS GB GB 81 BG GG ED 
1999:42 6G 68 24 GB GG 18 BB CE 
19113068 7E 66 66 42 GG BG DB DG 
1919:06 61 C3 86 63 SA CO 62 11 
1921:42 46 G6 7E 68 GG 24 G6 B4 
1929:060 24 6G G6 24 BG BO 24 AD 
1931:06 86 66 G8 GG GB BB G1 31 
1939:3A 74 F2 FE FE 7C 38 FO 3F 
1941:F0 F8 F8 FC FC FF EG EO A3 
1949:FF FC FC F8 F8 FO FO GF 66 
1951:0F 1F 1F 3F 3F FF 67 @7 BY 
1959:FF 3F 3F 1F 1F OF GF FF 88 
1961:FF FF FF FE 7F FE 7F 3E B8 
1969:7C BE 74 62 48 G2 49 G2 18 
1971:40 62 40 GE 70 3E 7C FE Al 
1979:7F FE 7F FE FF FF FF 8£ AQ 
1981:81 93 @6 92 45 4B 44 26 8E 
1989:4F 46 26 4C 45 56 45 4c 18 
1991:06 42 4F 4 55 53 3A 00 8F 
1999:12 50 52 45 53 53 20 53 63 
19A1:56 41 43 45 20 4F 52 26 GC 
19A9:42 55 54 54 4F 4E 92 63 FA 
19B1:12 20 20 20 26 54 4F 26 OC 
19B9:53 54 41 52 54 20 47 41 EA 
19C1:4D 45 20 24 28 26 92 68 98 
19€9:12 53 4D 41 52 54 26 42 FD 
19D1:4F 4D 42 53 3A 92 6G 66 98 


Maurice Yanney is a frequent contrib- 
utor. Some of his programs are Brick 
Layer, Umbrellas, and Cats & Mice. He 
lives in Lebanon, Pennsylvania. 


NAME MACHINE 


By Brent Spurlock 

Name Machine is a utility that lets you al- 
phabetize lists of peoples’ names or oth- 
er items. To make the job easy for you, 
you can enter names in either first-name 
or last-name order, and the program will 


G-28 COMPUTE OCTOBER 1993 


alphabetize the names by the last 
name. You can then print out the names 
in various formats, including first-name or 
last-name order. The program also lets 
you print the list in columns. 

Other features include the ability to 
save and load files and to handle items 
other than names, such as song titles, 
books, videos, and so on. The program 
is written to be as user friendly and 
crashproof as possible. Just be sure 
that your printer is on and ready when 
you're set to print. 


Typing It In 


Name Machine is written entirely in BA- 
SIC. To help avoid typing errors, enter 
the program with The Automatic Proof- 
reader. See “Typing Aids” elsewhere in- 
this section. Be sure to save a copy of 
the program before you try to run it. 

When you run Name Machine, you'll 
see the main menu and its seven choic- 
es. Choices include Enter, Edit, Print, 
Save, Load, Choose Format, and 
Erase All Names. 

Before you alphabetize a list of 
names, you must first decide on a for- 
mat for entering them. By selecting 
Choose Format, you'll see three op- 
tions: First name Last name; Last 
name, First name; and No names. The 
first two choices let you select which- 
ever way is easier for you to enter 
names, either with the first or last 
name first. In either of these formats, 
the program will still alphabetize the 
list by last names. 

The third choice allows you to enter 
items that are not names of people. 
These may be song titles or any other 
items you might like. 

The current format is shown on the 
main menu under the Choose Format 
choice. The default format is First 
name Last name. After you've selected 
a format, select Enter from the main 
menu to begin entering your names. 

To enter a name, type it as indicat- 
ed by the prompt and then press Re- 
turn. The prompt states the current for- 
mat, and the current record number is 
at the top of the screen. To exit to the 
main menu, type / followed by Return. 
As a shortcut, you may go directly to 
the edit menu by typing E followed by 
Return. 

To edit or view the names, select Ed- 
it from the main menu. The names will 


be displayed up to 20 at a time. If the 
list is longer than 20 names, press Re- 
turn to continue listing. To return to the 
main menu, press M. 

To edit a name, enter the number be- 
side that name and press Return. The 
name will be shown followed by a 
prompt to reenter the name correctly. 
Type the name as you would like it. If 
you would like to delete the name, 
type D followed by a Return. 

To print the list of names, select 
Print from the main menu. You will be 
asked if you want the first or last name 
printed first. Press either F or L. You'll 
then be asked whether on not you 
want the names numbered. You'll then 
be asked if you are using single 
sheets or continuous paper. 

You'll then be asked how many spac- 
es you want between names. You can 
have up to three spaces between 
each name. If your list is long enough 
to print more than one page, you'll be 
asked whether you want it printed in 
two columns. 

The final prompts asks for a list title. 
If you want one, enter a title and press 
Return, If any of your choices are 
wrong, press Q to quit and return to 
the main menu. Make sure the printer 
is on and the paper is ready and then 
press any key to print. 

To save or load a file, select the op- 
tion from the main menu and then 
type in the filename. The filename can 
contain up to 15 characters. If you 
change your mind, enter M to return to 
the menu. Any disk errors will be dis- 
played on the screen, and you'll be giv- 
en a prompt to start over. 

To erase the names from a list, se- 
lect Erase All Names from the menu. 
You will be asked if you are sure. Be 
careful with this option; once the 
names have been erased, they cannot 
be recovered. 


NAME MACHINE 


MS 10 REM COPYRIGHT 1993 - COM 
PUTE PUBLICATIONS INTL L 
TD - ALL RIGHTS RESERVED 
RT=@:FT=1:FT$(1)="FIRST 
{SPACE}NAME LAST NAME":F 
T$(2)="LAST NAME, FIRST 
{SPACE}NAME" = 
FT$(3)="AS IS" 
RS=CHR$ (13) :NU=1:DIMNAS ( 
350) ,OG$ (35) : POKE53280, 
15: POKE53281,15:POKE646, 


RE 20 


EE 36 
KD 46 


XA 


XM 


BH 


PP 


51 


52 
55 


60 
61 


62 
63 


64 
70 
80 
166 


101 
142 
103 
104 


105 


116 
136 
isu 


132 
133 
134 
135 
136 
138 
146 
145 
156 


155 
168 


6 

PRINT" {CLR} {12 SPACES} 
{YEL} {A} RRA KA RAR RRR RR 
{s}" 

PRINT" HREKKHRRERE LY) 
{PUR} NAME {SHIFT-SPACE }MA 

CHINE TYEL} {Q}* RAHA ARERR 

ae CHRA (14); paanhanee. 5a 
PRINT"{12 SPACES} {Z}**** 
KAR KKKEHEHEX} [DUR] ——— 
PRINT" {2 DOWN}PLEASE ENT 

ER{SHIFT-SPACE}NUMBER 

TSHIFT-SPACE}OF  —_— 

{ SHIFT-SPACE} SELECTION 
{BLU} "RSRS 
PRINT"1...ENTER"RSRS; "2. 
- -EDIT"RS 
PRINT"3...PRINT"RSRS"4.. 
«SAVE"RSRS"5...LOAD"RSRS 

"6,..ERASE ALL NAMES" 

PRINTRS"7...CHANGE INPUT 
FORMAT" 

IF FT=3 THEN PRINT" 

{4 SPACES}(NO NAMES) ":GO 

TO76 

PRINT "{4 SPACES} ("FTS(F 

p)")" 

GETAS: IFAS<"1"ORAS>"7"TH 

EN70 

A=VAL(A$):ONA GOTO 100,3 

86,600,860,966,1000,1108 
E=0:PRINT"{CLR}{YEL}"TA 
B(13) "{AP*RRRRRRRARRES) 
" 


PRINTTAB(13)"- {PUR}NAM 
E #"NU TAB(25)"{YEL}=" 
PRINT" {YEL}{40 T}" 
PRINT"{BLU}TYPE {PUR}M 
{BLU} TO EXIT TO MAIN M 
ENU" 
PRINT"TYPE {PUR}E{BLU} 
{SPACE}FOR EDIT MENU" 
PRINT"{PUR}{3 DOWN}ENTE 
R{SHIFT-SPACE}NAME ("FT 
5 (FT) ") "RS" {BLU} (DOWN} ? 
{@}";:ps="" 
GOSUB1399 
IFAS=""THEN1GG 
IFAS="M"ORAS="M"ORAS="M 
ENU"THEN280 
IFAS="D"ORAS= 
6 
IF E=1 THEN GOSUB 296 
IF A$="E" OR AS="E" OR 
{SPACE}AS="EDIT" THEN R 
T=1:GOTO300 
OGS$=aAS 
IF FT=3 THEN NAS=A$:GOT 
0266 
IF FT=2 THEN 176 
A=LEN (A$) :C=A:B=@ 


THEN 5@ 


IF MID$(A$,A,1)="_" THE 
N 166 

A=A-1:B=B+1: IFA=GTHENNA 
$=A$:GOTO268 

GOTO145 


B$=RIGHTS (AS$,B) :CS$=LEFT 


EM 


Js 
QH 


FB 
XB 
DQ 
BX 
RR 


AX 


GP 


ss 


PX 
CK 


179 
175 


188 


185 
196 


266 
265 
216 


226 


236 
248 


258 
266 


278 
280 
282 
285 
296 


298 
308 
304 


365 


306 
368 


309 
3190 
328 
325 
327 
336 
331 
332 
333 


334 


335 


336 
338 


$(AS,C-B) :NAS=BS+", "+C 
$:GOTO20G 
A=LEN (A$) :C=A:B=1 

IF MID$(A$,B,1)= "," TH 
EN 196 

IF B=A THEN NAS=A$:GOTO 
206 

B=B+1:GOT0175 
BS=RIGHTS (A$ ,C-B) :C$=LE 
FTS$ (A$, (B-1)) :OG$=BS+" 
{SPACE}"+C$:NAS=AS 

D=1 

REM PRINTLENHRS (142) 
IFD>NUTHENNAS (NU) =NAS:0 
G$ (NU) =0OG$:GOT026G 
IFNAS$>NAS (D) THEND=D+1:G 
oT0219 
B=NU:FORI=1TONU-D 

NAS (B) =NAS (B-1) :0G$(B) = 
OG$ (B-1) :B=B-1:NEXT 

NAS (D) =NAS$:0G$(D) =OG$ 
NU=NU+1: PRINTCHRS (14) :I 
FE=1THEN458 

GoTO190 
IFE=1THENE=0:GOTO458 
IFRT=1THENRT=0:GOTO1G0 
GOTO5a 

NAS (C) =NA$ (C+1) :0G$(C) = 
OG$(C+1):IFC<NU THEN C= 
C+1:G0T029¢ 

NU=NU-1: RETURN 

A=l1 

PRINT" {CLR}{6 SPACES} 
{PUR} PLEASE 
{SHIFT-SPACE } SELECT 

{ SHIFT-SPACE }NUMBER 
{SHIFT-SPACE}TO  _ 
{SHIFT-SPACE}EDIT{YEL}" 
PRINT"{5 SPACES}{30 T} 
{BLU}" 

IF NU<=20 THEN 309 
PRINT"HIT {PUR}RETURN 
{BLU} TO{SHIFT-SPACE}CO 
NTINUE{SHIFT-SPACE}LIST 
Inc" 

PRINT"TYPE {PUR}M(BLU} 
{SPACE}TO EXIT TO MAIN 
{SPACE }MENU" 

FORI=1T020 
IFA<=9THENPRINT" ";A;NA 
$ (A) :A=A+1:G0T0327 
PRINTA; NAS (A) :A=A+1:C=6 
NEXT :C=0 

PRINT"? {@}";:DS="" 
GETZ$: IFZ$=""THEN331 
IFZS=CHRS (13) ORZS=CHRS ( 
141) THENAS=D$:GOTO349 
IFLEN (D$) =GANDZS=CHRS (2 
6) THEN331 
IFZS=CHRS (20) THENDS=LEF 
TS$(DS$,LEN(D$) -1) :PRINT" 
{LEFT} {LEFT}"ZS"{@}"; 
IFZS<" "ORZS>CHRS$(130)A 
NDZS<CHRS$ (160) THEN331 
IFLEN (ZS) >3THEN331 

IF Z$="M" OR ZS="M" OR 
{SPACE }Z$="MENU"THEN282 


QX 


ss 


339 
348 


358 
355 


368 
379 
388 
398 
496 


416 


426 


436 


456 
453 


455 
458 


459 
569 


516 
520 


536 
606 
695 


668 


616 


615 
626 


626 
627 
628 
629 
638 


631 
632 


DS$=D$+Z$: PRINT" {LEFT }"Z 
S"{@} 
IF AS$=""THEN376 

B=VAL (AS) 
IFB<=GORB>=NUTHENFORI=G 
TOLEN (AS) : PRINT" {LEFT} 
{SPACE} {LEFT}";:NEXT:PR 
INT"{@}"; :DS="":GOTO331 


GOTO48G 
IFA>=NUTHENA=1:GOTO304 

GOTO 304 

GOTO134 

PRINT"{CLR}{3 DOWN}TYPE 
{PUR}D{BLU} TO DELETE- 
{SPACE}NAME" 

PRINT"TYPE {PUR}M{BLU} 


{SPACE}TO RETURN TO MEN 
on 

PRINT"{2 DOWN}OLD 

{ SHIPT-SPACE}ENTRY-~-"NA 
$ (B) 

PRINT" {DOWN} {PUR} TYPE 
{SHIFT-SPACE}IN 

{ SHIPT-SPACE } NEW 
{SHIFT-SPACE}ENTRY (LAS 
T NAME, FIRST NAME) 
{BLU}"RSRS"? {@}"; 
E=1:Q=NU:TF=FT:D$="":C= 


B 
IF FT=3 THEN 1190 


FT=2:GOTO1190 

NU=Q:FT=TF:E=G:IF RT=1 
{SPACE}THEN RT=0:GOTO1@ 

7] 

GOTO30G 

PRINTRSRS"ARE YOU SURE? 
(x/N)" 

GET A$:IFAS=""THEN510 


IFAS="N"ORAS="N"THEN E= 
@:NU=Q:FT=TF:GOTO306 
GOSUB298:GOTO30G 
PRINT" {CLR} {DOWN} {PUR} 
{5 SPACES}TYPE M TO RET 
URN TO MAIN MENU{YEL}" 
PRINT"{5 SPACES}{29 T} 
{BLU} 

PRINT" {DOWN}PRINT {PUR} 
F{BLU}IRST OR {PUR}L 
{BLU}AST NAME FIRST?"; 
GET AS: IFAS<>"F"ANDAS<> 
"E"ANDAS<>"L"ANDAS<>"L" 
ANDAS<>"M"ANDAS<>"M"THE 
N 610 
IFAS="M"ORAS="M"THENSO 
PRINTAS$:A=1: IFAS="F"ORA 
S="E"THEN A=G 
PRINTR$"NUMBER LIST OF 
{SPACE}NAMES? (¥/N)"; 
GOSUB797 
IFAS="M"ORAS="M"THENSG 
PRINTAS$:D=1: IFAS="Y"ORA 
S$="Y"THEN D=G 
PRINTRS"ARE YOU USING S 
INGLE SHEETS? (¥/N)"; 
GOSUB797 

PRINTAS$:0=1: IFAS="Y"ORA 
S="Y"THEN O=G 


OCTOBER 1993 COMPUTE G-29 


PROGRAMS 


BR 
G-30 


635 
636 
637 
641 
642 


643 
644 


645 


646 


647 
648 
649 
656 
651 
655 
656 
657 
658 


659 
666 


661 


662 
663 


664 
666 


667 
669 


676 
686 


682. 


708 
765 
768 


716 
715 


728 


PRINTRS"NUMBER OF LINES 
BETWEEN NAMES (0-3) ?"; 

GETAS: IFAS<"G"ORAS>"3"T 

HEN636 

F=VAL (A$) : PRINTF 

IF (NU* (F+1) ) <SSTHEN645 
PRINTRS"PRINT IN TWO CO 
LUMNS? (¥/N)" 

GOSUB797_ 

P=O:1F AS="Y"ORAS="Y"TH 

ENP=1 

PRINTRS"TYPE TITLE: {@} 
";:DS=""5GOSUB1300:BS=A 
$ 

PRINTR$"{3 DOWN} {PUR}PR 
ESS {SHIFT-SPACE}ANY 

{SHIFT-SPACE}KEY 
{SHIFT-SPACE}TO 

{ SHIFT-SPACE} BEGIN 
{SHIFT-SPACE}PRINTING" 
PRINT"{2 DOWN}TO CANCEL 
PRESS {RVS}Q{OFF)" 

GETAS: IFAS=""THEN648 

IF AS="Q"THENSO 

OPEN 4,4,7:G=INT (LEN (BS 
)/2) :PRINT#4,RS 
FORI=1T0 (40-G) : PRINT#4, 
" "NEXT: PRINT#4,BSRSR 


$ 
IFP=1THEN700 
FORI=1TONU 
GETAS$: IFAS="Q"THEN5G 
IFM<=55THEN666 
M=L:IF O=1 THEN 664 
PRINT" {CLR}{3 DOWN} PRES 
S{SHIFT-SPACE } ANY 
TSHIFT-S PACE} KEY 
{ SHIFT-SPACE}TO 
{SHIFT-SPACE }CONTINUE" 
PRINT"{2 DOWN}TO CANCEL 
PRESS {RVS}Q{OFF}" 
GETAS: IFAS=""THEN662 
PRINT" {CLR}"z PRINT#4,R 
$,R$,RS:GOTO666 
FORB=1T05: PRINT#4,RS:NE 
XTB 
IF D=GANDI<=9THENPRINT# 
4," "31;:GOTO669 
IF D=@THENPRINT#4,1; 
IF A=GTHEN PRINT#4,0GS ( 
I) :GOTO68¢ 
IF A=1THEN PRINT#4,NAS ( 
I) 
IFF>OTHENFORQ=1TOF: PRIN 
T#4,"":M=M+1:NEXTQ 
M=M+1:NEXT:CLOSE4:GOTO5 
8 
M=1:Q=1:I=1:LN=INT (55/( 
F+1)):IFF>OTHEN LN=LN+1 
K=I: IFI>NUTHENCLOSE4:GO 
TO5O 
GETA$: IFAS="Q"THENCLOSE 
4:GOTO5B 
IFM<=LNTHEN745 
M=1:I=I+LN:K=I:Q=l:IF O 
=1 THEN 746 


PRINT" {CLR}{3 DOWN}PRES 


COMPUTE OCTOBER 1993 


MK 


HS 
JD 


RP 


KH 


CK 


DR 
RR 
AQ 
XE 
DK 
CH 


PX 
cs 


HQ 
RP 
MK 


BP 


AQ 
JE 
EQ 
GB 
Cx 


JH 


725 


736 
735 


746 
745 


750 


755 
768 
765 
775 
786 
799 


795 
797 


798 
799 
808 


805 
868 
810 
826 
899 
988 


985 


968 
919 
919 


920 
921 
922 
924 


925 


S{SHIFT-SPACE }ANY 
TSHIFT-SPACE}KEY 
{SHIFT-SPACE}TO 
{SHIFT-SPACE}CONTINUE" 
PRINT"{2 DOWN}TO CANCEL 
PRESS Q" 
GETAS: IFAS=""THEN73@ 
PRINT" {CLR}":PRINT#4,RS 
+RS,R$:GOTO745 
FORB=1T010:PRINT#4, 
EXTB 
IF D=GANDK<=9THENPRINT# 
4,"{3 SPACES}";K;:GOTO7 
55 
IF D=GTHENIFNAS (K) <>""T 
HENPRINT#4,"{2 SPACES}" 
iK; 
IF A=QTHEN PRINT#4,0GS( 
K) 7:GOTO765 
IF A=1THEN PRINT#4,NAS ( 
K); 
IF Q=0THEN78@ 
K=I+LN:FORJ=1T040- (LEN ( 
NAG (I))+3) :PRINT#4," "; 
?=NEXTJ:Q=0:GOTO745 
K=1:Q=1 
FORQA=GTOF: PRINT#4, 
EXTQA 
M=M+1:I=I+1:GOTO765 
GET AS:IF AS<>"Y"ANDAS< 
>"Y"ANDAS$<>"N"ANDAS<>"N 


wisn 


wen 


"ANDAS<>"M"ANDAS<>"M"TH 


EN797 
IFAS="M"ORAS="M"THEN5SG 
RETURN 
PRINT" {CLR} {DOWN} TYPE 
{PUR}M{BLU} TO EXIT TO 
{SPACE}MAIN MENU" 
PRINT"{2 DOWN} {PUR}TYPE 
TITLE TO SAVE: {@} 
{BLU}"; :D$= OSUB1308 
IFAS="M"ORAS="M"THEN5G 
OPEN8,8,4,"@0:"+AS+",SE 
Q,W" 

PRINT#8 ,NU:FORI=LTONU: P 
RINT#8,OG$ (I) :NEXTI 
CLOSE8:GOTO5G 

PRINT" {CLR} {DOWN} {BLU} T 
YPE {PUR}M{BLU} TO EXIT 
TO MAIN MENU" 

PRINT" {2 DOWN} {PUR}TYPE 
TITLE TO LOAD: {BLU} 
<@}"; :DS="":GOSUB1398 
IFAS="M"ORAS="M"THEN5G 
OPEN8,8,4,AS+",SEQ,R" 
INPUT #8 ,NU:FORI=1T0 (NU- 
1) s INPUT#8 ,OG$ (I) :NEXTI 
:CLOSE8 

IFOGS (1) <>""THEN924 
OPEN15,8,15:INPUT#15,AS 
+ BG: PRINTRSRSRS"{ PUR} "B 
$:CLOSE15 
NU=1:FORZ=1T0190G:NEXTZ 
:GOTO9BB 

PRINTRS$"{3 DOWN}{PUR}PL 
EASE WAIT{BLU}" 
FORI=1TONU:AS=0GS (I 


HP 
PE 


AM 


HK 


RR 


GQ 


KP 


SH 


928 
936 


946 
956 
955 
960 
996 
1606 
10695 
1616 
1615 


1626 
1636 


1166 


1119 
11206 


1130 


1146 


1145 


1147 


1148 


1149 
1158 
1166 
1366 
1316 
1326 


13398 


1349 


A=LEN (A$) :C=A:B=0 
IFA=QTHENOGS (I) = 
0996 
IFMIDS (A$,A,1) =CHRS (32 
THEN96G 
A=A-1:B=B+1: IFA=Q0THENNA 
$=AS:GOTO966 
GoT094¢ 
BS=RIGHTS (A$,B) :CS$=LEFT 
$(AS,C-B) :NAS$ (I) =BS+", 
{SPACE}"+C$ 
NEXTI:GOTO5G 
PRINT" {CLR}{3 DOWN}ERA 
SE ALL NAMES" 
PRINT" {DOWN} {PUR}ARE Y¥ 
OU SURE (Y/N) {7}"_ 
GET AS: IFAS=""THEN 101 
6 
PRINT" {3 DOWN} {PUR}PLE 
ASE{SHIFT-SPACE}WAIT 
{BLuU}" 
IFAS="N"THEN 50 
FORI=0T0349:NAS(I)="": 
OGS$ (I) =""sNU=1L:NEXTI:G 
OTO5a 
PRINT" {CLR} {PUR} 
{2 DOWN}PLEASE 
{SHIFT-SPACE} SELECT 
{ SHIF T-SPACE} FORMAT 
{SHIFT-SPACE}FOR 
{ SHIFT-SPACE } ENTERING 
{SHIF T-SPACE} NAMES 
{BLU}" 
PRINT" {2 DOWN}1...FIRS 
T NAME LAST NAME" 
PRINT" {DOWN}2...LAST N 
AME, FIRST NAME" 
PRINT" {DOWN}3...NO NAM 
ES (USE FOR NAMES OTHE 
R THAN" 
PRINT SPC(14)"PEOPLE- 
{SPACE} SONG TITLES, ET 
c.)" 
PRINT"{2 DOWN}NOTE: TH 
E FORMAT IS FOR ENTERI 
NG NAMES" 
PRINT"{6 SPACES}ONLY. 
{2 SPACES}THEY WILL ST 
ILL BE ALPHA-" 
PRINT" {6 SPACES}BETIZE 
D BY THE LAST NAME, UN 
LESS" 
PRINT"{6 SPACES}NO NAM 
ES IS SELECTED." 
GET A$:IF AS<"1" OR AS 
>"3" THENLISOLIST1145- 
FT=VAL (A$) :GOTO5G 
GETZ$: IFZS=""THEN1309 
IFZ$=CHRS$ (13) ORZS=CHRS 
(141) THENAS=D$: RETURN 
IFLEN (D$) =GANDZS=CHRS ( 
20) THEN1300 
IFZ$=CHRS$ (20) THENDS=LE 
FTS (D$,LEN(D$) -1) : PRIN 
T"{LEFT} {LEFT}"ZS"{@} 
u, 
7 


IFZS$<" "ORZS$>CHRS (130) 


"3;GOT 


ANDZ$<CHRS (160) THEN13@ 


6 

SE 1358 D$=D$+Z$: PRINT" {LEFT}" 
ZS"{@}"; :GOTO1L3GG 

XQ 1500 LD=1:GOTO59 


Brent Spurlock wrote this program af- 
ter his mother couldn't understand why 
it was so much trouble to alphabetize 
a list of names using a database, He 
lives in Green Forest, Arkansas. 


MEGAMORPH 


By Tom Zdanowicz 

If you've seen any sci-fi movies or TV 
shows recently, you've probably seen 
characters from the future who change 
their shapes at will. This metamorphic 
technique is achieved by computers, 
and now you can morph with your 64. 

Megamorph can take two bitmapped 
images and render up to a 99-frame mor- 
ph of the first image as it transforms into 
the second. The program works with any 
graphic images that you've saved to 
disk as either PRG or SEQ files. 

You'll also need a copy of Gazette's 
HAG (High-resolution Animation Gener- 
ator) from the April 1992 issue. HAG 
makes minimovies on a 64 by loading 
each frame, compressing it, and then sav- 
ing the whole sequence as a stand-alone 
program ready for playback. 

Megamorph will do all the hard work 
for you. It'll load your images one at a 
time, map each pixel to disk, and render 
each frame into a smooth metamorpho- 
sis of the first image as it changes into the 
second. 

All this work can take a lot of time be- 
cause a single, full-screen bitmapped im- 
age can have up to 64,000 pixels. The 
computer doesn't have enough memory 
to store the coordinates of all the pixels 
in the first and second images, so the da- 
ta is stored on disk as what | call start 
points and stop points. 

The computer then reads the data and 
calculates and draws each frame of the 
transformation for you. You can custom- 
ize the animation by selecting the num- 
ber of frames and image size as well as 
other parameters. 


Entering the Program 

Megamorph's main program is written 
in BASIC, but it uses a machine lan- 
Quage subroutine to speed up the scan- 
ning and plotting of images. To help 


avoid typing errors, use The Automat- 
ic Proofreader to enter the BASIC pro- 
gram. See “Typing Aids" elsewhere in 
this section. Be sure to save a copy be- 
fore you attempt to run it. Watch lines 
95 and 8242. They are too long to fit 
on two screen lines without using abbre- 
viations. For the proper Proofreader 
checksums, list the line after you've en- 
tered it, cursor to it, and press Return. 
To enter the machine language por- 
tion of the program, you'll need MLX, 
our machine language entry program; 
again, see “Typing Aids.” When MLX 
prompts, reply with the following. 


Starting address: C000 
Ending address: C1F7 


Save this routine with the filename 
MORPH.ML on the same disk as Mega- 
morph. The BASIC program will load 
the file when it is first run. 


Using the Program 

Load and run Megamorph as you 
would any BASIC program. After the 
ML file loads, you will be prompted for 
a work disk containing your two imag- 
es. These can be created with a graph- 
ics program such as The Print Shop, 
WorldMap 64, LISA, or whatever you 
have. The graphics should be two-col- 
or, high-resolution images saved as 
standard noncompressed PRG or SEQ 
files. 

Save the first image on your work 
disk with the filename 1PAG, and save 
the second image as 2PAG. If you are 
uncertain about the compatibility of 
your files, use the Look option in the 
main menu to check them. This option 
will be described in more detail later. 

Make sure there's enough room on 
your work disk to store all the slides 
and start points/stop points (S/S) files. 
Each frame can be anywhere from 2 to 
32 blocks in size, depending on the 
size of your images. These and the S/ 
S files can easily fill a disk. Keeping im- 
age sizes to half the screen or less will 
usually leave plenty of room for slides. 

After inserting the work disk, press a 
key to see the main menu. The num- 
bered options are as follows. 

1. Load keyframes and morph 
(builds S/S). This option loads and 
maps each image to disk and builds 
the start points and stop points files for 


morphing. After the S/S files have 
been created, the program will pro- 
ceed to render each frame of the mor- 
ph. (See Parameter Setup below.) 

2. Morph existing S/S files. In order 
for this option to work correctly, you 
must have first used option 1 to gener- 
ate the S/S files. Then this option will 
set up parameters and proceed with 
the rendering without having to rescan 
and map the original images. (See Pa- 
rameter Setup below.) 

3. Look. This option allows viewing 
of a PRG or SEQ bitmap file so you 
can check the compatibility of your 
graphics. After selecting the file type 
and name, your image will be dis- 
played if it's compatible. Press any key 
to exit this option. 

4. Exit. This option reboots BASIC 
and erases the program. 


Parameter Setup 

After selecting option 1 or 2, you will 
be prompted for the file type, number 
of rows in each image, the number of 
frames to render, and a frame offset. 

For file type simply press P for PRG 
or S for SEQ files. This is the file type 
of your before and after images. 

The number of rows refers to the 
size of each image. You have a mini- 
mum of 1 row and a maximum of 25, 
Measuring from the top of the screen, 
enter the approximate size in rows for 
each image. This determines how 
much of each image is to be scanned 
and mapped since you may not always 
want full-screen images. The size of 
each frame rendered will be the larger 
of the two images. 

The number of frames that you se- 
lect can be 2-99. The more frames, the 
smoother the morphing effect will be. 
But with more frames, you'll also use 
more disk space. If the disk fills up be- 
fore the last frame is rendered, no 
more frames will be saved. 

Finally, the frame offset enables you 
to start the rendering at a frame num- 
ber other than 1. Rendering will begin 
with the next frame after the offset. 
This means an offset of 5 will begin ren- 
dering at frame 6, which is useful in 
chaining one morph to another. 

Once your images are ready, load 
and display them with HAG. It will con- 
vert them into a stand-alone program 
for viewing. 


OCTOBER 1993 COMPUTE G-31 


PROGRAMS 


A Few Notes 

The amount of time it takes to render a 
sequence is related directly to the num- 
ber of frames and the size of the imag- 
es. Smaller sequences can be ren- 
dered within an hour, while larger, 
more detailed sequences can take 8- 
12 hours or more. The results, howev- 
er, are well worth the wait. | usually set 
up large images on my computer be- 
fore | go to bed and awake to a new 
morph in the morning. 

Another thing worth mentioning is 
that during testing | seem to have dis- 
covered a possible bug in the HAG pro- 
gram in that no two slides can be iden- 
tical. HAG can load them, but when 
they're played back, strange things 
can happen. Also, with less than full- 
screen sequences, the HAG program 
doesn't blank the rest of the screen. 
While this can be annoying, it isn’t a ma- 
jor problem. (Editor's note: HAG and all 
of the other programs on the April 
1992 Gazette Disk are still available. 
The U.S. price is $11.95. Write to Ga- 
zette Disk, COMPUTE Publications, 
324 West Wendover Avenue, Suite 
200, Greensboro, North Carolina 
27408. You can order by credit card 
by calling 919-275-9809.) 

To let the user know what the pro- 
gram is doing, the border color will 
change according to what is taking 
place. The colors are as follows. Blue 
indicates an image is loading. Red in- 
dicates an image is being scanned 
and mapped to disk. Yellow means the 
program is comparing and equalizing 
S/S files. Green indicates a frame is be- 
ing rendered. Light blue indicates the 
program is saving a slide to disk. 

When it has finished rendering, the 
program will flash the border and 
sound an alarm, Press any key to turn 
off the alarm and return to the main 
menu. 

Any disk errors that occur during 
mapping or rendering are usually fatal, 
so make sure that you have the prop- 
er files on your work disk. If you select 
option 1, make sure there are no S/S 
files on your work disk because it will 
try to create them, producing a disk er- 
ror and possible crash. Also, if your 
disk contains slides from another mor- 
ph, make sure you don't try to create 
slide numbers that already exist. This 
too will cause an error. If you wish to 


G-32 COMPUTE OCTOBER 1993 


add one morph to another, use the off- 
set to render the new morph, starting 
with the next available slide number. 
Experimentation is the best way to re- 
alize the full potential of Megamorph. 
There is no limit to the detail of the im- 
ages, and they don't even have to be 
the same size or on the same section 
of the screen. I've used this program to 
create some truly dazzling morphing se- 
quences that have been used for eye- 
catching titling and graphics effects. 


MEGAMORPH 


JF 16 REM MEGAMORPHS V2.8 BY T 
OM ZDANOWICZ 


HM 84 REM COPYRIGHT 1993 - COM 
PUTE PUBLICATIONS INTL L 
TD - ALL RIGHTS RESERVED 

SR 85 IPA=GTHENA=1:LOAD"MORPH. 
ML",8,1 

GS 94 OPEN15,8,15 

AQ 95 PRINT"{CLR}":POKE53286,G 
:POKES3281,0:PRINT" 
{2 SPACES}PLEASE INSERT 
{SPACE}WORK DISK WITH IM 
AGES" 

MC 96 PRINT"{5 SPACES}AND PRES 
S A KEY TO CONTINUE" 

CH 97 GETAS:IPAS=""THEN97 

AF 169 PRINT" {CLR}":POKE5328@, 
6: POKE53281,9 

RJ 116 PRINT: PRINT: PRINTSPC(14 
) " {BLU }MEGAMORPHS" 

CF 1286 PRINT SPC(14)"{1G Y}":P 
RINT: PRINT 

JG 136 PRINT "{CYN}1. LOAD KEY 
FRAMES & MORPH. (BUILDS 
{SPACE}S/S)":PRINT 

DR 14@ PRINT "2, MORPH EXISTIN 
G S/S POINTS FILES": PRI 
NT 

BH 155 PRINT "3, LOOK": PRINT 

BC 157 PRINT "5. EXIT" 

DM 166 GET C$:C=VAL (C$) :IFC<10 

. RC>STHEN 166 

CQ 174 ON C GOTO 266,198,6921, 
186 

XF 180 SYS64738 

CF 199 GOSUB 9660:GOTO8626 

DG 268 REM *SET BITMAP AND LOA 
D KEYFRAMES* 

PX 264 PRINT"IMAGE FILE TYPE ( 
{RVS}P{OFF}RG/{RVS}S 
{OFF}EQ) ":GETEFTS 

MX 265 IFFTS<>"S"ANDFTS<>"P"TH 
ENPRINT"{2 UP}":GOTO264 

QD 266 GosUB9G6 

XQ 230 REM *******LOAD KEYFRAM 
E]L***eeee 

FF 241 MB=N1*320:NMS="0:1PAG," 
+FTS+",R" 

CB 258 GOSUB6040:0PENS,8,5,"9: 


STARTPOINTS,S,W":YMAX=N 
1*8:GOSUB368:L1=CT 


AS 


Js 


HK 
CA 


MR 


PR 


CA 


HP 


XP 


PD 


252 
253 
268 
297 
308 
361 
316 
326 
338 


348 
6016 


6621 


6625 


6426 


6836 


6631 
6935 
6946 


6856 


6655 


6057 
6065 
6876 
6675 


6076 
6089 
6195 


6165 
6187 


6119 


76108 


7626 


MB=N2*320:NMS="@: 2PAG," 
+FTS+",R" 
GOSUB6040:0PEN5,8,5,"@: 
STOPPOINTS,S,W": YMAX=N2 
*8:GOSUB 369:L2=CT 
GOSUB 7031:GOTO8626 
REM *** MAP IMAGE TO DI 
SK wkKKK 
POKE53280,2:CT=0: FORY=0 
TOYMAX: FORX=0T0319 
HB=INT (X/256) :LB=X~- (256 
*HB) 

POKE 840,LB:POKE841,HB: 
POKE842,Y:POKE 766,0:SY 
$49271 

IF PEEK(767)=@ THEN 348 
PRINT#5,X:PRINT#5,Y:CT= 
CT+2 
NEXT : NEXT :CLOSE5: RETURN 
REM ***VIEW IMAGE FILE 
ke KK 
GOSUB6025:GOTO6165 
PRINT"IMAGE FILE TYPE 
{SPACE} ({RVS}P{OFF}RG/ 
{RVS}S{OFF}EQ)":GETFTS 
IFFTS<>"S"ANDFTS<>"P"T 
HENPRINT"{2 UP}":GOTO6 
925 

PRINT" {CLR}": INPUT" FIL 
ENAME TO VIEW";NS:NMS= 
"O:"4NS+", "4PTS+", RM 
IFFTS="P"THEN6G55 
INPUT"NUMBER OF ROWS T 
O VIEW/SAVE";NR:MB=NR* 
326 
SYS49161:POKE680,12:SY 
$49226 

BC=PEEK (53280) : POKE532 
80,6:0PEN5,8,5,NM$:GOT 
06857 
SYS49161:POKE68G,12:SY 
S49220:POKE147,0:SYS57 
812N$,8,1:SYS62631:GOT 
06185 

AD=8192:NB=0 

GET#5,X$ 
IFX$=""THENXS=CHRS (G 
X=ASC (X$) : POKEAD, X:AD= 
AD+1:NB=NB+1: IFNB=MBTH 
EN6106 

IF ST=64THEN6106 
GOTO6G6G 

CLOSES: POKE53288,BC:RE 
TURN 

GETAS: IFAS=""THEN6195 
REM ***RECOVER TEXT MO 


DE******{5 SPACES}6168 
REM KaeKKKKKKKK KKK KKK 


KKK RR RK 


POKE53265, PEEK(53265)A 
ND223: POKE53272, (PEEK ( 
53272) AND24G)OR4:GOTOL] 
GG 

REM ** REMAP AND EQUAL 
IZE ***e* 

REM * STARTPOINTS/STOP 
POINTS * 


KG 


CA 
PQ 
Gs 


MB 


JR 


FD 


RJ 
Js 


7631 
7048 
7056 
7066 
7876 


7088 


79096 
7168 
7116 


7126 


7121 
7136 
7148 
7156 


7208 


7210 


7220 
7236 
7246 


7256 


7266 
7276 
7286 
7298 
8006 
8619 
8620 


8021 


8022 
8623 


8624 


8625 
8026 


POKE53286,7 
IFL1<L2THEN 
IFL2<LITHEN 7206 
IFL1=L2THEN RETURN 
OPENS ,8,5,"@:STARTCOPY 
1S,W":OPEN6,8,6,"G:STA 
RTPOINTS,S,R" 
INPUT#6,X: INPUT#6,Y:SU 
=ST:PRINT#5,X:PRINT#S, 
Y: IFSU=64THEN7100 
GOTO7G8G 

CLOSE5:CLOSE6 

OPENS, 8,5,"@:STARTPOIN 
TS,A":OPEN6,8,6,"@:STA 
RTCOPY,S,R" 
INPUT#6,X:INPUT#6,Y¥:SU 
=ST: PRINT#5,X:PRINT#5, 
¥:L1=L1+2:IFL1=L2THEN7 
150 

IFSU=64THEN7140 

GoTo 7126 
CLOSE6:0PENG,8,6,"G:ST 
ARTCOPY,S,R":GOTO7120 
CLOSE5:CLOSE6:PRINT#15 
,"S@:STARTCOPY": RETURN 
OPENS, 8,5,"@:STOPCOPY, 
S,W"3sOPEN6,8,6,"8:STOP 
POINTS,S,R" 
INPUT#6,X:INPUT#6,Y¥:SU 
=ST:PRINT#5,X:PRINT#5, 
¥: IFSU=64THEN723@ 
GoT07216 

CLOSE5:CLOSE6 
OPENS,8,5,"@:STOPPOINT 
S,A":OPEN6,8,6,"@:STOP 
COPY,S,R" 
INPUT#6,X:INPUT#6,Y:SU 
=ST:PRINT#5,X:PRINT#5, 
¥:L2=L2+2:1EL2=L1THEN7 
296 

IFSU=64THEN7280 

GOTO 7256 
CLOSE6:0PEN6,8,6,"0:ST 
OPCOPY,S,R":GOTO7250 
CLOSE5:CLOSE6:PRINT#15 
+"S@:STOPCOPY": RETURN 
REM kkk kk KKKKK KKK KEK 
KKK 

REM *** MORPH TWO IMAG 
ES *** 

REM **** MAIN MENU OPT 
ION 2 HERE** 

PRINT: PRINT:OPEN5,8,5, 
"O:STARTPOINTS,S,R":L1 
=6 
INPUT#5,V:L1=L1+1:1FST 
<>64THEN8G22 

PRINT" {PUR}NUMBER OF P 
IXELS IN S/S FILES= 
{GRN}"; INT (L1/2 

PRINT: PRINT"{7 SPACES} 
{RED} {RVS}PRESS A KEY 
{SPACE}TO CONTINUE 
{OFF} {CYN}":CLOSES 
GETAS: IFAS=""THEN8G25 
REM ***MAIN MENU OPTIO 
N 1 HERE** 


7076 


MM 


BQ 


AS 


FS 
DP 


FS 


8027 
80395 
8048 


8045 
8650 
8655 
8060 
8076 
8680 
8096 
8091 
8992 
8093 
8105 
8111 


8200 


8261 


8202 


8246 
8242 


8244 


8500 
8510 
8520 


8536 
8540 
8550 
8568 


8579 
8580 
8598 
8608 


8700 
8716 
8729 


POKE53280,5 

SS=1/NS 
FORI=STONS:SYS49161: PO 
KE686,12:SYS49226:IA=1 
*SS 
OPEN5S,8,5,"@:STARTPOIN 
TS,S,R":0PEN6,8,6,"0:S 
TOPPOINTS,S,R" 
FORJ=OTOLISTEP2 
INPUT#5,X:INPUT#5,Y:IN 
PUT #6 ,X2:INPUT#6 ,Y2 
X1=X+IA* (X2-X) :YL=Y+IA 
* (¥2-Y) 

HB=INT (X1/256) :LB=X1~( 
256*HB) 
POKE840,LB:POKE841,HB: 
POKE842,Y1:POKE766,1:S 
Y¥S49271 

NEXT: CLOSE5:CLOSE6 

REM ***BUILD SLIDE FIL 
ENAME** 

IFI=SI THEN GOSUB 8700 
GOSUB 8500 

BC=PEBK (53280) : POKES32 
86,14:SYS49612:POKE532 
80,BC:NEXT 

REM ****RECOVER TEXT M 
ODE**** 
POKE53265, PEEK (53265)A 
ND223: POKE53272, (PEEK ( 
53272) AND24G) OR4; PRINT 
"{CLR}" 

PRINT: PRINT: PRINT" 

{11 SPACES} {CYN}MORPH 
{SPACE}FINISHED" 
PRINT: PRINT: PRINT: PRIN 
7: PRINT: PRINT: PRINT" 
{11 SPACES}{RVS}{BLU}P 
RESS ANY KEY{OFF}" 
GETAS: IFAS<>""THEN1GG 
POKE54296,21:POKE54277 
,9:POKE54278,0: POKES42 
73,48: POKE54276,32:POK 
E£54276,33 
POKE53280,253- (PEEK (53 
28G)+1) :FORD=1T0300:NE 
XT: GOTO8246 
SN=I+1+0S:S$=STR$(SN) 
IFSN>9THEN854G 
S$=MID$(S$,2,1):SS="@" 
+S$ 

GOTO 855G 
SS=MID$(S$,2,2) 
SNS="SLIDE"+SS$ 
MM=757:FORP=1T07:K$=MI 
DS (SN$,P,1) : POKEMM, ASC 
(KS) :MM=MM+1:NEXT 
IFN1L>N2THENMB=N1* 320 
IFN2>NLTHENMB=N2* 326 
IFN1=N2THENMB=N1*328 
LA=8192+MB: LH=INT (LA/2 
56) :LL=LA- (256*LH) :POK 
E755,LL: POKE756,LH:RET 
URN 

I1=1:01=0S:0S=9 
FORI=SITOEI:GOSUB8596 
BC=PEEK (53280) : POKE532 


8730 
96080 


PP 
PA 


HP 


AJ 


AP 
AM 


KX 
AK 


9005 


90198 


9612 
9615 


80,14:SYS49612:POKE532 
80,BC:NEXT 
1=11:0S=01:RETURN 
INPUT"#{RIGHT}ROWS IN 
{SPACE} IMAG1 (1-25) ";N1 
: IFN1<1ORN1>25THENPRIN 
T"{2 UP}":GOTO9GGG 
INPUT"#{RIGHT}ROWS IN 
{SPACE} IMAG2 (1-25) ";N2 
: IFN2<1ORN2>25THENPRIN 
T"{2 UP}":GOTO9GGG 
INPUT"NUMBER OF FRAMES 
(2-99) ";NS: IFNS<2ORNS> 
99THENPRINT"{2 UP}":GO 
709618 

NS=NS-1 
OS=G:INPUT"FRAME OFFSE 
1" ;0SS: IFVAL (OS$) >990R 
OS<OTHENPRINT"{2 UP}": 
GoTO9G15 


9416 OS=VAL(OS$) :RETURN 
19668 GOTO1AG 


MORPH.ML 
CO00:EE 
CG08:65 
CG10:D0 


CO38:85 
C640:4C 
C648:86 
C950:64 
CG58:A8 
CO6G:F9 
C@68:EFC 
CO70:06 
CO78:4A 
C@80:AD 
C688: 63 
C696:4B 
CO98:4E 
COAG: 63 
CGOA8: 07 


C6DG:3D 
C@D8: 46 
CGEG: 63 
COE8:FE 
COFG:18 
COF8:A5 
C1GG6:FE 
C168:6D 
C110:BD 
C1l18:Bl 
C126:01 
C128:66 
C13G0:FE 
C138:91 
C140:FE 
C148:C@ 
C150:C@ 
C158:C@ 
C166:CG 


49 
8D 
8D 
20 
66 
EB 
69 
85 
De 
FC 
60 
cB 
18 
FD 
66 
3c 
AD 
G3 
4B 
AD 
03 
03 
@7 
3c 
44 
G3 
cl 
8D 
63 
85 
85 
18 
AS 
3F 
AG 
G8 
cl 
48 
47 
63 
86 
80 
80 
86 
86 


OCTOBER 1993 COMPUTE 


48 63 
18 
11 
G6 
6 
co 
16 
AS 
co 
F9 
ED 
91 
EG 
c8 
FD 
4A 
G3 
4c 
4E 
63 
3D 
3E 
AT 
8D 
BD 
42 
GA 
E8 
AQ 
26 
FE 
69 


De 
DG 
DG 
85 
AG 
cs 
18 
FD 
66 
Ag 
A2 
FC 
@5 
85 
4c 
4A 
8D 
G3 
4c 
6E 
03 
63 
62 


PROGRAMS 


TD TS PET DET 


C168:CG 
C178:C6 
C178:16 
C180:30 
C188:508 
C196:76 
C198:96 
C1AG:BG 
C1A8:DB 
C1BG:F@ 
C1B8:1¢0 
C1CG: 38 
C1C8:18 
C1DG:AG 
C1D8:F5 
C1lEG:85 
C1E8:AE 
C1FO:FE 


uy? 
1c 
GG 
i) 
06 
9G 
Cs) 
Ul) 
I) 
i) 
G1 
G1 
26 
FE 
AG 
FC 
F3 
66 


Go 
06 
18 
38 
58 
78 
98 
BB 
D8 
F8 
18 
38 
4g 
20 
G2 
Ag 
62 
00 


19 
1E 
Go 
1) 
Ut) 
i) 
Cl) 
Ur) 
96 
oa 
61 
Ol 
8G 
BA 
26 
26 
AC 
CT) 


48 
Ut) 
26 
40 
6a 
86 
Ag 
co 
E@ 
ys) 
26 
G1 
ag 
FF 
BD 
85 
F4 
4) 


1A 
Ci) 
Cr) 
0G 
Ui) 
1) 
i) 
1) 
06 
Ol 
G1 
G2 
O5 
AQ 
FE 
FD 
02 
0) 


86 
68 
28 
48 
68 
88 
AB 
ce 
E8 
68 
28 
04 
A2 
97 
AQ 
AQ 
26 
Ct) 


1B 
Go 
88 
98 
Go 
G6 
oo 
i) 
Ui) 
@1 
Gl 
08 
98 
A2 
oo 
FC 
D8 
Ur) 


2A 
4D 
58 
BS 
13 
76 
cD 
2B 
88 
EO 
ED 
D3 
1B 
AB 
G3 
12 
94 
8c 


Tom Zdanowicz is a 26-year-old film 
and video major at Phillips Junior Col- 
lege in Daytona Beach, Florida. When 
he's not at the beach, he enjoys writing 
software to prove the 64 can still keep 
up with the times. 


MENU MAKER 


By Rizwaan Ahmed Khan 

Have you ever loaded a disk directory 
and been confused by what you see? Alll 
the program names, filenames, and da- 
ta files can be confusing unless you use 
them every day. Does this program actu- 
ally run, or is it a data file for another pro- 
gram? If you're fed up searching clut- 
tered disk directories for programs, then 
you need Menu Maker. 

This program for the 64 creates a 
menu from which you can boot pro- 
grams, You specify the program names 
you want to appear on the menu, and 
Menu Maker does the rest. 


Typing It In 

Menu Maker is written entirely in BA- 
SIC. To help avoid typing errors, enter 
it with The Automatic Proofreader. See 
“Typing Aids” elsewhere in this sec- 
tion. Be sure to save a copy of the pro- 
gram before you try to run it. 


Getting Started 
When you run Menu Maker, you'll be 
asked for the filenames of programs 
that you want to appear on your disk 
menu. At this point, make sure that you 
know the program filenames and that 
the desired disk is in the drive. 

Enter all the filenames that you'd nor- 
mally use to boot a program. Enter on- 
ly the name of any boot programs. Do 


G-34 COMPUTE OCTOBER 1993 


not include any secondary programs 
or data files. Remember, the whole 
point is to keep your disk menu unclut- 
tered for easy use. 

When you have finished entering file- 
names, enter an asterisk (*) to quit. 
Once again, make sure that the de- 
sired disk is in the drive. Menu Maker 
will modify itself and save a new ver- 
sion to your disk under the filename 
MENU. 

Once the process is complete, the 
READY prompt will appear, but your 
64 will be locked up. Simply reboot it. 
To make use of the new menu, simply 
type LOAD “MENU",8, 1 and press Re- 
turn. The menu program will load and 
run automatically. 

You'll then see a menu of the file- 
names that you entered. To select a pro- 
gram, highlight the desired program 
with the cursor keys or with a joystick 
plugged into either port. Run the high- 
lighted program by pressing Return or 
the fire button. 

Should you want to add additional 
programs to the menu at a later time, 
simply rerun Menu Maker. It will create 
a new version of the menu and delete 
the old one. 


MENU MAKER 
HJ 6 GOTO6G1: REM COPYRIGHT 19 
93 - COMPUTE PUBLICATIONS 
INTL LTD 
F=@:DIMNS (50) : PRINT" {CLR} 
":POKE53281,0:POKE53286,2 
2J=56320:K=56321 
Q=126:W=125:E=254:R=253:Y 
=111:U=239:PRINTCHRS (142) 
: PRINTCHRS (8 
X$="{CYN}{RVS}{16 SPACES} 
"sYS="{OFF}{16 SPACES}{6} 
" 


GQ 5 
BK 6 
XD 7 


SQ 9 DATA,"{CYN} {RVS} 

{16 SPACES}","{RVS}{CYN} 
{16 SPACES}" 

196 READNS(F) :IFNS(F)="*"TH 
ENB=F-3:NS$ (F) =X$:F=F+1: 
NS (F) =X$:GOTO266 
F=F+1:GOTO19G 

PRINT" {HOME} {13 SPACES} 
{YEL}{RVS}AUTO LOADER": 
POKE198,9:L=1:0PEN15,8, 
15,"I":CLOSE1LS 

PRINT"{5 DOWN} {5}{40 P} 
" 


PG 


FX 
XK 


195 
200 


KG 216 


XE 215 PRINT"{4 DOWN} {5}>{40 yY} 
" 

PRINT" {6 DOWN}";"¢3} US 

E CURSOR KEYS OR JOYSTI 

CK TO SELECT" 


PRINT" {DOWN} {5 SPACES}P 


QQ 216 


EH 217 


DQ 
KG 
SK 


PH 


FR 
RH 


FK 


PS 


JF 


ME 
cq 
JA 
EA 


BB 


HE 


QM 
PM 
BE 
MQ 
RQ 
QG 


RQ 


230 
235 
249 
245 


250 
255 
465 


41g 


415 
456 
455 
466 


476 
5086 


565 


516 


606 


661 
602 
663 
604 


605 
696 
667 
608 
615 
626 


622 


RESS 'RETURN' 
TO LOAD." 
PRINT" {HOME} {5 DOWN} {6} 
"SISL 
PRINT" {DOWN} {7 RIGHT} 
$6>"FNS (I) ;YS:L=I:IsI+1 
PRINT" {7 RIGHT}";NS(I); 
Y$:IsI+1 
PRINT" {7 RIGHT}{RVS} 
{YEL}";N$ (I) ;Y$:BS=NS (I 
):IsI+l 
PRINT" {7 RIGHT} {6}";NS ( 
I) ;¥$:I=I+1 
PRINT"{7 RIGHT}";NS$(I); 
Y$:I=I+1 
IFPEEK (J) =QORPEEK (K) =ET 
HENIFL<>1THENL=L-1:GOTO 
236 
IFPEEK (J) =WORPEEK (K) =RT 
HENIFL<>BTHENL=L+1:GOTO 
230 
IFPEEK (J) =YORPEEK (K) =UT 
HEN5@@ 
GETAS$: IFAS="{DOWN} "THEN 
IFL<>BTHENL=L+1:GOTO23G 
IFAS="{UP}"ORAS=" 
{RIGHT } "THENIFL<>1THENL 
=L-1:G0T0236 
IFAS=CHRS (13) THENSGG 
GOTO465 
L=L+2: PRINT" {BLK} {CLR} 
{HOME} LOAD"; CHRS$ (34) ;NS 
(L) ;CHRS (34) ;",8,1":PRI 
NT"{4 DOWN}RUN" 
PRINT" {HOME} {11 DOWN} 
{9 RIGHT}{PUR}LOADING : 
{CYN}";N$(L) ;"{BLK}"3P 
RINTCHRS (9) 
POKE631,19:POKE632,13:P 
OKE633,13:POKE198,3:END 
POKE1624,18:POKE1625,1: 
POKE1626,11:POKE1627,8: 
POKE1628,1:POKE1629,14 
L=15:C=9 
PRINT" {CLR} {YEL} {DOWN} 
MENU MAKER": POKE53281,9 
: POKE53286,8 
PRINT"{DOWN} BY {RVS}R. 
A. KHAN": [FX=1THEN626 
PRINT"{2 DOWN} PRESS '* 
' TO STOP":PRINT" TYPE 
{SPACE}IN FILENAME": INP 
UTAS:LS=L$+AS+"," 
PRINT" {BLK}";:C=C+1:IFA 
$="*"THENX=1:GOT0607 
IFC<>4THEN662 
G=LEN (L$) :LS=LEFTS (LS,G 
-1) :PRINT" {CLR} {HOME}"; 
L;"DATA";L$:L$="" 
PRINT"L="L"+1:X="X":GOT 
0692" 
POKE631,19:POKE632,13:P 
OKE633,13:POKE198,3:END 
PRINT" {CLR} {HOME}@ POKE 
776,131:POKE771,164":PR 
INT"GOTO 630" 
POKE631,19:POKE632,13:P 


OR 'FIRE' 


OKE633,13:POKE198,3:END 
POKE198 ,6:C=600:Q=C+1G 
PRINT" {CLR} {HOME }"; 
PRINT" {YEL}";C:C=C+1:1F 
C=QTHENPRINT" {BLK}C="C" 
:Q=C+16:"; :GOTO634 
GOT0632 
PRINT" IFC=649THENPOKE19 
8,9:RUN99G0" 
PRINT" {2 DOWN}GOTO631": 
GOT0636 
POKE631,19:FORJ=632T064 
4:POKEJ,13:NEXTJ:POKE19 
8,13:END 
BQ 9899 END 
PG 9906 OPEN15,8,15,"I":CLOSE1 
5:0PEN15,8,15,"S@:MENU 
"3CLOSELS 
PRINT"{CLR}{12 DOWN} 
{12 RIGHT}BOOTING MENU 
" 
POKE776,113:POKE771,16 
8: POKE43,0:POKE44,3:SA 
VE"MENU", 8: END 


CR 636 
KE 631 
QA 632 


MS 633 
AE 634 


EH 635 


AS 636 


FQ 9965 


AE 9919 


Rizwaan Ahmed Khan lives in 


Taihape, New Zealand. 


REDI-RITER 128 


By Robert Nellist 

The elaborate features of commercial 
word processors are great if you use 
them every day, but occasional writers of- 
ten forget many of the complicated com- 
mands. Many times you have to pull out 
the instruction manual before you can 
write and print a simple document. As a 
consequence, many letters either never 
get written or are banged out on an old 
typewriter. 

If you can identify with the above par- 
agraph, Redi-Riter 128 is just for you. It's 
asimple-to-use word processor written en- 
tirely in BASIC 7.0, but you will need an 
80-column monitor. To help avoid typing 
errors, enter Redi-Riter 128 with The Au- 
tomatic Proofreader; see “Typing Aids” 
elsewhere in this section. Be sure to 
save a copy of the program before you 
try to run it. 


Starting to Write 

Redi-Riter 128 loads in about two sec- 
onds from a 1571 drive. The com- 
mands are constantly displayed at the 
top of the screen, so there’s seldom a 
need to refer to the instructions. This is 
a true WYSIWYG word processor with 
word-wrap and fast typing response. 
All you have to do is select a margin 
and start typing. 


Since your letter prints line by line, 
it'll be ready for signing and mailing the 
instant you finish typing it. Just make 
sure your printer is ready when you 
start to write. Best of all, Redi-Riter 128 
provides some welcome options that 
are usually lacking in the more elabo- 
rate word processors. 


Unusual Features 

There are four quick-set options avail- 
able to you. An Option Status Bar, lo- 
cated just above the line numbers, 
provides important information such as 
when you can select an option and 
which one, if any, is in use. Only one op- 
tion can be in effect at any given time. 

The Tab key activates a paragraph 
indent. This option indents the first line 
of a paragraph, and the option stays in 
effect until you turn it off. 

Ctrl-C selects single-line auto center- 
ing, and Ctrl-R selects single-line right 
justification. Single-line options accept 
six fewer characters than normal lines 
and must be ended by a Return. To se- 
lect any one of the above options, be 
sure the Option Status Bar reads OK to 
select. You can then issue an appropri- 
ate command. 

There is one more option that won't 
be used much for letter writing but is 
great for an outline, list, or index. This 
feature lets you lock in a left margin in- 
dent of up to 20 characters. 

To activate it, first make sure the Op- 
tion Status Bar is clear and then press 
the space bar up to 20 times to posi- 
tion the cursor at the desired indent. 
The Option Status Bar will help you by 
displaying the indent count. When you 
have defined the indent, press Ctrl- 
Tab to lock it in. 

A document can contain as many dif- 
ferent indents as you desire. To 
change the indent, you must turn off 
the option (see below) and then repeat 
the above procedure. 

Pressing the Esc key immediately fol- 
lowing a Return will turn off any option 
and permit another to be selected. (Sin- 
gle-line options are automatically 
turned off when you press Return.) The 
Esc key will also cancel any option you 
may have chosen accidentally, as 
long as you use it before typing. 

Form feed occurs automatically after 
55 lines or whenever Ctrl-F is pressed 
immediately following a Return. Each 


line is numbered on the screen, so 
you'll always know where you are. A 
warning tone will sound for each of the 
last three lines on a page. 


Limitations 

Since each line is printed out as soon 
as it is completed, corrections must be 
made prior to printing. A beep warns 
you that a line will print after four more 
keypresses. When you hear this, it's a 
good idea to double-check the current 
line for errors. 

You can go back and correct any er- 
rors by pressing the Inst/Del key and re- 
typing the remainder of the line. Just 
as with a conventional typewriter, Redi- 
Riter 128 won't be able to save your 
document to disk or make duplicate 
printouts. Save that job for your regu- 
lar word processor. 


Customizing 

Its ease of customizing is one reason | 
like BASIC. CHR$(12) is an almost uni- 
versal printer command for form feed. 
If you have a form-feed problem, you 
can change this command in lines 110 
and 470 to whatever command your 
printer requires. If you want the pro- 
gram to issue any whole-document 
printer commands (such as for NLQ), 
you can enter them in place of the 
REM statement in line 80. For example, 
to put my Panasonic printer in its NLQ 
mode, line 80 would read as follows. 


PRINT#2,CHR$(27)CHR$(120)CHRS(1) 


Miscellaneous Memoranda 

Return is used to end paragraphs and 
the single-line options. You can also 
use it to create blank lines or to add 
more space at the top of a document. 
Press Ctrl-T to close the printer and 
end the program. If you have a docu- 
ment to send to the printer, be sure to 
use Ctrl-F first to issue a form feed. 


REDI-RITER 128 
BM 


REM COPYRIGHT 1993 - COMP 
UTE PUBLICATIONS INTL LTD 
- ALL RIGHTS RESERVED 
MM 16 CLR:FAST:DIMAS (8G) :N=1:L 
=1:SP=1:COLOR5,1:COLOR6, 
16: FORX=1T039:PS=PS+"*": 
NEXT 
AQ 20 SY¥S49474:SYS65520,,6,20, 
@:PRINT"* * *{2 SPACES}R 
EDI-RITER 


OCTOBER 1993 COMPUTE G-35 


PROGRAMS 


a IN Se IE ESTES EE EEE 


AA 


AD 


MD 


CI 


DA 


AA 


HX 


EP 


XJ 


HB 
G-36 


36 


46 


56 


60 


76 


84 


96 


168 


110 
126 


136 
146 


158 


166 
176 
186 


198 


200 


216 


226 


236 


{2 SPACES}1 2 8 
{2 SPACES}* * *" 
$YS65520,,18,17,0:PRINT" 
PLEASE ENTER A MARGIN VA 
LUE BETWEEN 3 AND 26 ";: 
INPUTM:LS=M:LM=M: RS=81~( 
LM+M) : IEM<30RM>26THEN3@ 
PRINTCHRS (14) CHRS (147) "R 
ETURN = END PARAGRAPH"SP 
C(5)"CTRL-T = QUIT"SPC (6 
)"INST/DEL = CORRECT IN 
{SPACE}CURRENT LINE" 
PRINT"CTRL-TAB = LOCK IN 
DENT AT CURSOR, POSITION" 
SPC(5)"TAB KEY = AUTO PA 
RAGRAPH INDENT": PRINT"CT 
RL-C = CENTER 1 LINE"SPC 
(5) "ESC KEY = OPTION CAN 
CEL"SPC (4); 
PRINT"CTRL-R = RT.JUSTIF 
Y 1 LINR":PRINT"BEEP = N 
EAR END OF LINE"SPC(4) "7 
ONE = NEAR END OF PAGE"S 
PC(4)"CTRL-F = FORCED FO 
RM FEED" 
OPEN4,4,7:0PEN 2,4:SYS52 
591:WINDOWS,4,79,24:PRIN 
T 
REM:YOU CAN ENTER YOUR P 
RINTER'S SPECIAL COMMAND 
(S) HERE (SEE INSTRUCTIO 
NS) é 
FORX=NTORS: TRAP550: 1FX=R 
S-3THENSOUND1,7000,10 
IFX=NANDL>52THENPLAY"V1 
O4TGU9X0B" 
IEL=56THENPRINT#2,CHRS ( 
12) :L=1:PRINTTAB (LM) PS 
IFRT=1LANDC=1THENX=RS:LS 
=LS+4:RS=RS-4:RT=:GOTO 
426 
IFX=1THENS=0:SP=1:SYS51 
794:GOSUB500 
IFX<N+2ORA$ (1) =CHRS (32) 
ANDB=GANDC=@THENGOSUB51 
8 
A$ (X) ="":GETKEYAS (X) :1= 
ASC (AS (X)) : IFI=34THENI= 
39:AS (X) =CHRS (39) 
IFX=1THENBEGIN 
IFR=1ANDI=32THENI5O 
IFI=27THENX=RS:LS=M: LM= 
M:RS=81~-(LM+M) :RT=6:C=0 
:B=0:R=0:GOT0426 
IF I=9ANDB=GANDC=OTHENC= 
1:RT=1:BS=" PAR. INDENT 
{SPACE}ON ":GOTO12¢ 
IF I=3ANDB=G@ANDC=OTHENB= 
1:LS=M+INT (RS/2) :BS="_C 
ENTERING ON{2 SPACES}": 
GOTO13¢ 
IFI=18ANDB=GANDC=OTHENB 
=2:LS=M+RS-1:B$="_RT.JU 
STIFY ON ":GOTO130 
BEND: IFI=6ANDB=9THENL=5 
6:GOTO110 
IFI=24ANDB=@ANDC=GANDSP 


COMPUTE OCTOBER 1993 


AQ 
FQ 
KG 
XJ 
JE 
CH 
RB 


BA 


HS 
FG 
HR 
QP 
JK 


EE 


FQ 
FD 


Qs 


AE 


Gs 


EC 


QB 


246 
256 
260 
270 
280 
299 
308 


3108 


326 
330 
340 
350 
366 


376 


3868 
396 


400 


410 
420 
436 


440 
453 


463 


476 


489 


499 


508 


5190 


=XANDX>1ANDX<22THENC=2: 
LM=M+X~1:X=RS:LS=LM:RS= 
81-(LM+M) :BS="INDENT LO 
CK ON ":N=1:GOT042G 
IFI=32THENS=G@:SP=SP+1 
IFI=2GANDX>1THEN320 
IFI=3GANDX=1THEN43G 
IFI=30THENS=@:RS=X-1:GO 
SUB440:GOT0430 
IFI=13THENAS (X) =CHRS (95 
) :I=95:GOTO309 
IFI<320RI>96ANDI<1930RB 
>GANDX>RS-6THEN150 
IFB=1ANDX/2<>INT (X/2)OR 
B>@ANDI=95THENLS=LS+1 
IFB>@THENCS=CS$+AS (X) :LS 
=LS-1:SYS51794:GOSUB5G6 
: PRINTCS$; :GOTO0360 
PRINTAS (X) ; : IFI=20THENB 
EGIN 
ITEB=1ANDX/2=INT (X/2) THE 
NLS=LS-1 
IFB>@THENLL=LEN (C$) -1:C 
$=LEFTS (C$,LL) :LS=LS+1 
BEND: X=X-2:S=S-1:SP=Sp- 
1:GOT0420 | 
IFI=95THENBEGIN:CS$="":B 
=@:N=1:S=@6:RT=1:L=L+1 
IFX=1THENX=RS: PRINT#4:L 
S=LM:RS=81~(LM+M) :R=0:P 
RINT:GOTO426 

BEND: RS=X~1:GOSUB446:X= 
RS: GOTO426 
IFX=RSANDS=GORX=RSANDI> 
4O0ANDI<48ORX=RSANDI>S7A 
NDI<6GORX=RSANDI=330RX= 
RSANDI=63THENS=@: GOSUB4 
40:N=1:L=L+1:R=1:GOT042 
G 
IFX=RSTHENGOSUB440:N=S+ 
1:L=L+1:GOT0426 

S=S+1 

NEXT: GOTO9@ 
CLOSE4:CLOSE2:SYS52639: 
PRINTCHRS (142) CHRS$(19)C 
HRS (19) CHRS (147) :END 
R=0:FORZ=1TORS-S:IFZ=1T 
HENPRINT#4,""SPC (LS) ; 
PRINT #4,AS (Z) ; :NEXT: J=1 
PRINT#4: IFS=GTHENPRINT: 
LS=LM:RS=81-(LM+M) :RETU 
RN 

FORY=1T0S: PRINTCHRS (29) 
; 3NEXT: IFL=55THENPRINT# 
2,CHRS$ (12): PRINT: PRINTT 
AB (LM) P$;:L=G 

PRINT: PRINTCHRS (18) L+1C 
HRS (146) CHR$ (157) TAB (LM 
i 
FORV=RS~(S-1)TORS:AS (J) 
=A$ (V) :PRINTAS (J) ;:J=J+ 
1:NEXT:LS=LM: RS=81-(LM+ 
M) : RETURN 
PRINTCHRS (18) LCHRS (146) 
CHR$ (157) TAB (LS) ; :RETUR 
N 


SYS65528,,,,1:RREG,G,H: 


IFB=GANDC=GANDR=GTHENBS 
=" OK TO SELECT 

{2 SPACES}":ELSE54@ 
IFX>1THENBS="_DO NOT SE 
LECT{3 SPACES}" 
IFX>1ANDX<22ANDSP=XTHEN 
BS="INDENT COUNT"+STRS ( 
X-1) +CHRS (32) 
PRINTCHRS (19) CHRS(18)BS 
CHRS (146) ;:SYS65526,,G, 
H,@:RETURN 
IFER=36THENRESUME:ELSEP 
RINT: PRINTERRS (ER) EL:ST 
op 


QJ 526 
QF 536 


SR 546 


RE 550 


Robert Nellist, the author of Ancestry 
(January 1993), is an avid letter writer. 
He lives in Brockport, New York. 


DOUBLE DUB 1541 


By Daniel Lightner 

With this utility program and two 1541 
disk drives, you can make duplicate cop- 
ies of any disk that doesn't contain copy 
protection. 

Double Dub 1541 is written in machine 
language, but it loads and runs like a BA- 
SIC program. To enter it, use MLX, our ma- 
chine language entry program. See “Typ- 
ing Aids” elsewhere in this section. When 
MLX prompts, respond with the following 
addresses. 


Starting address: 0801 
Ending address: 0D58 


Be sure to save a copy of the program 
before you exit MLX. 


Copying Disks 

When you run Double Dub 1541, it 
prompts you to place the source disk 
in disk drive number 8. This is the disk 
that you wish to copy. Place the disk in 
drive 8 and press the space bar. At 
this point Double Dub 1541 reads the 
disk name and ID. 

It then prompts you to place the tar- 
get disk in drive 9. Put a blank disk in 
drive 9 and press the space bar. 
There is no need to use a formatted 
disk. Double Dub 1541 automatically for- 
mats the disk for you and copies the 
contents of the disk in drive 8 to the 
disk in drive 9. The screen will blank 
while the actual copying is. taking 
place. 

The program will inform you when 
the copy is complete. You will be 
asked if you wish to make more cop- 


ies. If you do, tap the Y key. If you 
don't, tap the N, and Double Dub 1541 
returns you to BASIC. 


DOUBLE DUB 1541 
0801:0B 68 C8 67 
0809:31 96 
G811:D8 DB 
@819:CC PF 
0821:20 @2 
9829: 30 a8 
0831:6F 20 

20 


20 
Ag 
Ut) 
co 
G2 
26 


Oo 
8D 
FF 
8D 


60 
21 
Ag 
B2 
ag 
B9 
oc 
FS 
FF 
AG 
cs 
A2 
oo 
9D 
FO 
oo 
c8 
A2 
c3 
26 
OB 
91 
6F 
BO 
07 
1333) 
20 
6G 
26 
ag 
UIs) 
cG 
G3 
@D 
FS 
85 
54 
De 
26 
G2 
62 
54 
G8 
BS 
18 
@2 
8D 
G2 
6F 
133) 
26 
De 
B4 
hy 
38 
62 


PHEWONQAMAVWAD 
a 
cs 


O8A9:28 
98B1:0D 
. O8BI:FF 
G@8C1:AG 
G8C9:C8 
08D1:20 


G989:FF 
g991:26 


G9A1:C9 
G9A9:08 
G9B1:20 


G9D9:C8 
G9E1:A9 


G9FI:AG 


GAG1:C8 
GAS9:68 
GA11:62 
GA19:B9 
GA21:Bd 
G@A29:FF 
GA31:6B 
GA39:FF 
GA41:AG 
GA49:CB 
GA51:C9 


GA81: FE 
GA89:FF 
GA91:85 
GA99:62 
@AA1:D@ 
GAA9:C3 
GAB1: 4G 
GABO:FF 
GAC1:DG 
GAC9:85 
@AD1:65 
GAD9:DG 
GAE1:Bl 
@ARO:FF 
GAF1:FF 
GAF9:FF 
@RG1:9C 
@BGO9:F5 
@B11:C9 
@B19:4C 
GB21:08 
OB29:FF 
@B31:01 
GB39:A9 
OB41:FF 
GB49:AG 
9B51:09 
GB59:FF 
9B61:8D 
9B69:18 
@B71:93 
GB79:20 
0B81:6F 
0B89: GF 
@B91:BD 
@B99:G2 
@BA1:2A 
@BA9:BD 
GBB1:B4 
GBB9:BG 
GBC1:Bd 
GBC9:B4 
GBD1:B4 
@BD9:8D 
GBE1:FO 
G@BE9: G2 
GBF1:62 
@BF9:CA 
@CG1:64 
GCG9:62 
GC11:28 
@C19:Bl 
GC21:1A 
9C29: 23 


68 
AE 
AG 
c8 
26 
29 
26 
4 
D2 
E4 
Go 


20 
AQ 
00 
co 
62 
PF 
26 
8D 
ag 
60 
co 
69 
20 
26 
4c 
BO 
33 
EO 
FG 
4c 
20 
60 
BD 
20 
a2 
63 
4c 
a9 
37 
8D 
AG 
69 
FF 
69 
8D 
62 
CF 
60 
60 
62 
6B 
OF 
FC 
98 
8D 
AD 
67 
6A 
Bc 
62 
62 
12 
19 
60 


25 
74 
85 
EE 
2E 
41 
SF 
cl 
E9 
9E 
4B 


5D 
7B 
56 
18 
DA 
B7 
23 
1n 
PB 
88 
Dl 
9B 
El 
66 
26 
C4 
FF 
E8 
cg 
B9 
El 
68 
DD 
81 
Sik 
El 
AS 
BS 
46 
54 
59 
SE, 
2c 
BD 
07 
92 
66 
F9 
D8 
7D 
D8 
AS 
ce 
82 
5D 
86 
OF 
34 
86 
GE 
SA 
79 
49 
D2 


6C31:14 
6C39:55 
6C41:38 
GC49:26 
GC51:26 
9C59:30 
9C61:36 
GC69:9A 
@C71:4F 
9C79:49 
GC81:52 
6C89:58 
gc9i:41 
9C99:54 
GCA1:54 
GCA9: 49 
GCB1:26 
GCB9:53 
@CC1:96 
@CC9: 43 
gcpD1:44 
GCD9: 26 
6CE1:4E 
GCE9:4F 
@CF1:4E 
GCF9:4F 
@DG1:42 
6D09:31 
GD11:59 
9D19:39 
@D21:4D 
@D29: 42 
@D31:4E 
$D39:4C 
@D41:4C 
@D49:20 
@D51:44 


1l 
36 
59 
31 
20 
26 
49 
26 
20 
4E 
38 
26 
26 
52 
33. 
49 
52 
43 
58 
45 
6D 
45 
52 
1¢ 
26 
26 
31) 
43 
54 
20 
20 
54 
54 
26 
48 
52 
Ui) 


23 
31 
32 
32 
26 
26 
oD 
53 
44 
44 
1c 
58 
55 
45 
20 
45 
53 
@D 
26 
45 
9A 
41 
43 
2F 
44 
55 
34 
56 
31 
4F 
55 
4F 
26 
4c 
53 
45 
Ot) 


oc 
A2 
c4 
69 
77 
36 
16 
E4 
29 
7E 
72 
4E 
DF 
D3 
Dl 
EB 
97 
Al 
F3 
6B 
3c 
B8 
FA 
36 
ED 
A4 
FE 
saul 
OF 
AC 
86 
12 
5c 
38 
BE 
4B 
co 


Daniel C. Lightner is a prolific program- 
mer who lives in Sidney, Montana. 


EXPLORER 64 


By Michael Bolin 

You look around furtively, hoping to see 
a passage through the tangled mass of 
rocks and trees. Suddenly you spy a 
opening in the bushes. You dash 
through it and pounce on the yellow 
stone lying on the ground. There! You've 
finally managed to recover that jewel. 
Now it’s time to explore another maze to 
find the next jewel. 

Explorer is a one-player game for the 
64 written entirely in machine language. 
To enter it, use MLX, COMPUTE's ma- 
chine language entry program. When 
MLX prompts, respond with the following 
addresses. 


Starting address: COOO 
Ending address: C98F 


Be sure to save a copy of the program 
before you exit MLX. 


OCTOBER 1993 COMPUTE G-37 


PROGRAMS 


SE a TES ES IS TTL ORE 


Into the Maze 

Load Explorer with the ,8,1 extension 
and then run it by typing SYS 49752. 
You'll be presented with a menu. Use 
a joystick plugged into port 2 to move 
the green arrow up and down the 
menu. Press the fire button to select 
your option. 

The first time you select Play from 
the menu, don't be surprised if you see 
a window filled with gray @ symbols 
and reversed Commodore B charac- 
ters, This is because these characters 
normally are in memory after you turn 
on the computer. 

You'll also see a purple diamond in 
the center of this window. This dia- 
mond indicates the position of your ex- 
plorer. You can move the diamond 
across a huge map. 

The two numbers in the upper left of 
the screen indicate your explorer’s stat- 
us. If either of these numbers reaches 
0, the game is over. 

On the map, you may encounter char- 
acters that raise or lower your statis- 
tics. Other characters will stop your 
movement completely, kill you on 
touch, speed you up, slow you down, 
or slow you only when you are touch- 
ing them. If you touch a certain char- 
acter, your player collects the jewel 
and wins the game. To exit a game, 
pull down on the joystick and simulta- 
neously press the fire button. 


Other Menu Selections 

If you select Edit from the menu, a win- 
dow twice as large as the playing win- 
dow will appear with a purple diamond 
in the center. This will let you design 
your own screens to explore. 

All 256 characters in the character 
set appear in the upper left of the 
screen. One of the characters (usually 
the ball) will be highlighted. Use the 
joystick to move around the map. 
Press the fire button to place the high- 
lighted character on the screen be- 
neath the cursor. 

In the editing mode, press Q to se- 
lect a different character. This shifts 
joystick control from the playing 
screen to the character table. You can 
now move the joystick to select differ- 
ent characters. Then, when you press 
the fire button, that character will ap- 
pear onscreen. If you hold down the 
fire button while moving the joystick, 


G-38 COMPUTE OCTOBER 1993 


you can place a continuous string of 
characters onscreen. 

Press Q again and notice that the cur- 
sor stops blinking. You can now 
change character color by pressing 
the back-arrow key. Notice that all like 
characters onscreen will change to the 
new color. You can return to the menu 
at any time by tapping the A key. 


Stop, Go, Destroy 

From the editor screen, press the 
space bar to change the attributes of 
the highlighted character. You have a 
choice of eight possible actions that 
will occur whenever your game charac- 
ter makes contact. You can choose to 
stop movement, reduce food, reduce 
life, disappear, destroy, speed up, 
slow down, or slow temporarily. A plus 
sign following the action name indi- 
cates that it's active; a minus sign 
means that it's turned off. Press the ap- 
propriate number key to toggle the 
plus and minus signs. Press A when 
the character is the way you want it. 

Select Save from the menu to save 
your current game. The program will 
ask for a filename. The character attrib- 
utes are saved along with the map. 
The map is huge, so be sure you have 
at least 93 blocks free on your disk. 

Select Load to load a previously 
saved game. When the game prompts 
you for a filename, insert the disk on 
which you have saved a game, type in 
the filename, and press Return. You 
can then play the game or edit it. 

Quit returns you to BASIC, but you 
may return to the game by typing SYS 
49152. Since the game resets an impor- 
tant BASIC pointer, it's better to reset 
the computer when you've finished. 


More Control 

When you have designed a game, se- 
lect Quit from the menu. You can now 
select the character that you need to lo- 
cate to win. Select this character by en- 
tering POKE 51550, character. For the 
designated character, enter any of the 
Commodore screen characters. 

Here are some other POKEs to alter 
gameplay. Remember to enter values 
between 1 and 255 when poking num- 
bers for speed, food, and life. 
Starting speed: POKE 51547, speed 
Starting food: POKE 51549, food 
Starting life: POKE 51548, life 

/ 


Character to increase food: POKE 

51582, character 

Character to increase life: POKE 

51583, character 

Character that appears when you hit a 

character that has the Disappear op- 

tion on: POKE 51572, character. 
When you've finished customizing 

your game, type SYS 49152 to return 

to the action. 


Design 

To construct interesting adventure 
screens, you need to use the right 
characters and colors. For example, 
change the cursor color to green and 
then press Shift-Q to make symbols for 
a forest. The following key and color 
suggestions should help. 


Water: blue reverse Space 
Path; brown Commodore key-+ 
Bricks: red reverse Shift-@ 
Lava: pink Shift-V 

Plain: yellow semicolon (;) 
Field: green Shift-3 


Explorer is compact, using only 2448 
bytes of memory at 49152 ($C000), but 
it gives you an infinite number of 
games—thanks to its editor. It's fun to 
create a great adventure and then let 
someone who hasn't seen it play it. 


EXPLORER 


C66G:A9 6G 8D C6 C6 8D C7 C6 37 
C608:206 5B FF A9 4B 8D C5 C6 ED 
CG1G:A9 42 85 38 AD GA 8D 59 15 
C@18:C9 8D 5A C9 A2 G4 BE 88 94 
CG026:62 CA CA 8E 206 DO CA 8E FF 
C@28:86 62 CA 8E 21 DG CA 8E 26 
CG36:8A 62 8E 91 G2 A2 EC AG 77 
C638:C8 26 84 C6 20 NB CB 4c 61 
C04G:99 C5 AD 5B C9 8D C5 C6 42 
CGO48:A9 G1 8D 86 62 20 44 E5 F7 
C@5G:AD 5D C9 8D 75 C8 AD C6 G3 
C@58:C6 18 69 63 8D C6 C6 AD 63 
CG6G:C7 C6 18 69 63 8D C7 C6 BS 
CG68:A9 FF 8D 76 C8 AQ GB 8D 52 
C@76:57 C9 AD C5 C6 8D 58 C9 49 
CGO78:A9 G5 8D 59 C9 8D 5A C9 SA 
C@86:AD 5C C9 8D 6D C8 246 £3 B4 
C@88:CG A2 68 AG C9 26 84 C6 C7 
CO9G:A2 66 AB OS 18 26 FO FF EA 
CG98:A9 GG AE 6D C8 26 CD BD BB 
CGAG:A2 G1 AG G5 18 26 FO FF 3B 
CGOA8:A9 OG AE 75 C8 26 CD BD 4c 
CGBG:206 5A Cl 26 78 C6 AD 57 A4 
C@B8:C9 C9 Gl FO 11 C9 G2 DB 45 
CA@CO:C5 A2 Bl AG CB 26 84 C6 A4 
C@C8:28 DB CG 4C 68 CG A2 77 2E 
C@DG:AB C8 26 84 C6 24 DB CH 5G 
CGD8:4C-G8 C@ AD @G DC C9 7F FB 


COEG:FO 


WON FWOANWINADABDOAAUN 


C189:C9 
C188:C8 


20 
co 
48 
68 
E8 
9E 
C6 
68 
85 
85 
85 
cé 
96 
De 
85 
5A 
1>}-) 
De 
20 
26 
OB 
c8 


21 
Bl 
a4 
A8 
8A 
cé6 
A2 
AA 
G4 
G6 
G2 
FG 
85 
F2 
G2 
8D 
Ag 
03 
cg 
cg 
Ag 
4c 


C1B8:58 
C1c@:8D 
C1c8:C8 
C1D6:74 
C1D8:99 
ClEG@:6F 
C1E8:69 
C1EO:708 
C1LF8:15 
C206:AD 
C268:62 
C219:Cl 
C218:9E 
C220:71 
C228:8D 
C236:DG 
C238:62 
C248:C8 
C248:C9 
C256:C3 
C258:63 
C266:62 
C268:9C 
C27G6:B9 
C278:06 
C286:63 
C288:29 
C298:9C 
C298:B9 
C2AG:14 
C2A8:8D 
C2B9:63 
C2B8:94 
C2C@6:C6 
C2C8:87 
C2D@:AD 
C2D8:CE 
C2EG:68 
C2E8:72 
C2FG:C8 
C2F8:61 
C36G:FG 
C368:AD 


C6 
AD 
c8 
73) 
c8 
74 
c8 
6F 
Fo 
(oy) 
8D 
A2 
Dg 
cé 
Bl 
G2 
cg 
c3 
EE 
4a 
c2 
26 
FO 
29 
40 
c3 
26 
Fg 
29 
AB 
Bl 
c8 
cg 
76 
FO 
Dg 
Do 
c8 
76 
CE 
cg 
6D 
91 


cé6 
c7 
8E 
c8 
4c 
c8 
4c 
c8 
il 
94 
c7 
G2 
F6 
Ccé 
G2 
8D 
De 
Bl 
6D 
9c 
Bg 
EE 
G3 
G8 
9c 
B9 
24 
G3 
80 
C2 
G2 
AD 
G2 
c8 
G3 
93 
63 
8D 
c8 
75 
66 
cs 
@2 


C316:8D 
C318:FE 
C3206:8D 
C328:58 
C338:C6 
C338:AD 
C34G:FG 
C348:8D 
C350:C6 
C358:5A 
C3698:D9 
C368:61 
C376:C8 
C378:A9 
C386:66 
C388:A5 
C396:29 
C398:FG 
C3AG2A5 
C3A8:FG 
C3BG:C3 
C3B8:C3 
C3CG:68 
C3C8:4C 
C3DG:C4 
C3D8:13 
C3E@:C7 
C3E8:C6 
C3FG6:21 
C3F8:26 
C480:C7 
C4G8:AD 
C410:C6 
C418:F6 
C429:4C 
C428:64 
C430:F4 
C438:46 
C446:C9 
C448:C9 
C456:C9 
C458:DG 
C466:20 
C468:A9 
C470:CE 
C478:C7 
C486:23 
C488:28 
C496:C8 
C498:86 
C4AG:8D 
C4A8:84 
C4BG:CD 
C4B8:DE 
C4CG:85 
C4C8:85 
C4DG:25 
C4D8:91 
C4EG: 06 
C4E8:9E 
C4FG:00 
C4F8:C5 
C56G6:2A 
C568:3c 
C516:4E 
C518:608 
C526:8D 
C528:4C 
C53G:A9 
C538:A9 


@5 


cg 
FF 
8D 
feb} 
66 
FF 
cé 
cS 
i) 
me 
ag 
AC 
D8 
AD 
2E 
2 
68 
1c 
3E 
54 
D4 
4c 
c4 
23 
FO 
AD 
c7 
26 
97 
c8 
c3 
EE 
C6 
C3 
Go 
DG 
99 
Dc 
3A 
3F 
39 
cé 
@5 
c4 
cs 
4c 
69 
EE 
8D 
c7 
20 
26 
A2 
3c 
Gl 
9c 
Go 
Ag 
26 
AQ 
AS 
FO 
FO 
FO 
FG 
2B 
cs 
@4 
C4 
26 


C540:86 
C548:B4 
C550:BE 
C558:18 
C566:2B 
C568:C5 
C576:G5 
C578:C4 
C586:26 
C588:AC 
C596:99 
G598::'c3 
C5AG:A9 
C5A8:A9 
C5BG:C6 
C5B8:C9 
c5cG:4C 
C5C8:C9 
C5DG6:91 
C5D8:FB 
CSEG:EFO 
C5E8:A5 
C5FG:C3 
C5F8:C9 
C66G:C9 
C668:01 
C619:2G 
C618:C6 
C626:26 
C628:42 
C630:9D 
C638: 46 
C64G:20 
C648:AG 
C656:AB 
C658:88 
C66G:E5 
C668:G1 
C679:68 
C678:AE 
C688:CA 
C688: 8E 
C69G:6C 
C698:8E 
C6AG: 60 
C6A8:60 
C6BG:6D 
C6B8:41 
C6C@:51 
C6C8: GF 
C6DG6:GF 
C6D8:6F 
C6E0:6F 
C6E8:6F 
C6FG:GF 
C6F8:6F 
C700:0F 
C768:G6F 
C716:0F 
C718:6F 
C720:6F 
C728: 0F 
C730:0F 
C738:6F 
C740:6F 
C748:6F 
C750:6F 
C758:6F 
C760:0F 
C768:6F 


C5 4C BE C4 AQ 2B 
64 A9 68 26 86 C5 
C4 A9 2B 8D DC 04 
26 86 C5 4C BE C4 
8D 64 65 AD 26 20 
4C BE C4 A9 2B 8D 
AQ 4G 26 86 C5 4c 
AQ 2B 8D 54 G5 AQ 
86 C5 4C BE C4 85 
49 9D B9 48 9C 45 
48 9C 68 85 C6 4c 
A2 AO AG C6 20 84 
6B 85 FB AS 64 85 
1F A@ 6G 91 FB 20 
AD @@ DC C9 7D FG 
7E FQ 20 C9 6F FG 
A8 C5 4C A8 C5 AS 
AB FG F7 A9 20 AG 
FB A5 FB 18 69 28 
4c C3 C5 A5 FB C9 
El AG 6G AD 26 91 
FB 38 E9 28 85 FB 
C5 A5 FB C9 AB FG 
83 FG 13 C9 5B FO 
33 FG 11 4c 42 co 
8D 86 G2 4c 44 E5 
C6 4C 37 C6 AO G6 
C6 8D C7 C6 4c 4c 
46 C6 AQ F2 85 FB 
85 FC A9 FB A2 46 
20 D8 FF 4C G8 CO 
C6 AI BG A2 F2 AG 
D5 FF 4C 68 CO A2 
C8 26 84 C6 20 6G 
96 BO GG G2 FG 46 
C9 C8 DG F5 CG a6 
C@ 11 BO El 98 48 
A2 G8 AGB OO 20 BA 
A2 80 AG C9 4C BD 
C5 C6 AG GO 88 DO 
DO F8 6G 8E 8D C6 
C6 AG GG BO FF FF 
20 D2 FF C8 DO F5 
C6 4C 8C C6 6G 18 
95 0G BO G1 60 F6 
1B 93 9F 58 4c 41 
45 44 49 54 BD 4c 
44 GD 53 41 56 45 
55 49 54 G8 66 2G 
GF GF OF GF OF OF 
OF OF GF GF OF OF 
OF GF OF OF GF GF 
GF GF OF GF GF GF 
OF OF OF OF GF GF 
OF GF GF OF GF GF 
GF GF OF OF GF OF 
OF GF GF OF GF GF 
OF GF OF OF OF OF 
GF OF GF GF GF OF 
OF GF GF GE GF OF 
OF OF GF GF GF OF 
OF OF GF GF OF GF 
OF OF GF GF OF GF 
OF GF OF GF GB GF 
OF GF GF OF GF OF 
OF GF OF GF GF OF 
OF OF GF OF GF OF 
OF GF OF OF OF GF 
OF OF OF GF GF OF 
OF GF GF GF OF GF 


OCTOBER 1993 COMPUTE 


G-39 


PROGRAMS 


C776:6F 
C778:0F 
C786:0F 
C788:GF 
C79G6:0F 
C798:6F 
C7AG:6F 
C7A8:GF 
C7BG:6F 
C7B8:GF 
C7CO:GF 
C7C8:51 
C7D0:4E 
C7D8: 43 
C7EG: 26 
C7E8:4F 
C7FG:32 
C7FB8:45 
C88G6:33 
C8G8:45 
C810:0D 
C818:58 
C826:35 
C828:4F 
C830:53 
C838:58 
C840:4F 
C848: 26 
C850:57 


C858:52, 


C866:06 
C868:41 
C876:08 
C878:93 
C880:45 
C888: 29 
C890:45 
C898:54 
C8AG:4C 
C8A8B: 20 
C8BG: 06 
C8B8:41 
C8CO:45 
C8C8: 28 
C8DG:4E 
C8D8:45 
C8EG:45 
C8E8: 4B 
C8FG:20 
C8F8:48 
C960: 26 
C908:45 
C914: 26 
C918:6D 
C928:54 
C928:48 
C930:26 
C938:53 
C94G6:4E 
C948:47 
C959:52 
C958:69 
C969:65 
C968:26 
C9703 26 
C978:00 
C98G:96 
C988:96 


GF 
OF 
OF 
OF 
OF 
OF 
OF 
OF 
OF 
OF 
OF 
52 
41 
6a 
53 
4E 
44 
4F 
44 
46 
49 
53 
53 
36 
53 
20 
4F 
53 
4D 
&) 
4c 
Cr) 
CT) 
48 
4c 
20 
4F 
45 
45 
4B 
55 
55 
26 
52 
45 
26 
4E 
93 
26 
45 
26 
45 
26 
4D 
44 
57 
48 
54 
26 
4c 
2E 
64 
45 
4F 
Go 
Ui) 
Ur) 
Cr) 


Michael Bolin lives in Rockwell, lowa. 


G-40 
i 


COMPUTE OCTOBER 1993 


TYPING AIDS 


MLX, our machine language entry 
program for the 64 and 128, and 
The Automatic Proofreader are util- 
ities that help you type in Gazette pro- 
grams without making mistakes. To 
make room for more programs, we 
no longer include these labor-saving 
utilities in every issue, but they can 
be found on each Gazette Disk and 
are printed in all issues of Gazette 
through June 1990. 

If you don’t have access to a 
back issue or to one of our disks, 
write to us, and we'll send you free 
printed copies of both of these 
handy programs for you to type in. 
We'll also include instructions on 
how to type in Gazette programs. 
Please enclose a self-addressed, 
stamped envelope. Send a self-ad- 
dressed disk mailer with appropriate 
postage to receive these programs 
on disk. 

Write to Typing Aids, COM- 
PUTE's Gazette, 324 West Wen- 
dover Avenue, Suite 200, Greens- 
boro, North Carolina 27408. 


ATTENTION 
WRITERS 
PROGRAMMERS 


Gazette wants to purchase and pub- 
lish your utiities, applications, 
games, educational programs, and 
tutorial articles. If you've created a 
program that you think other read- 
ers might enjoy or find useful, send 
it and the documentation on disk to 
the following address. 


Gazette Submissions Reviewer 
COMPUTE Publications 

324 W. Wendover, Ste. 200 
Greensboro, NC 27408 


Please enclose an SASE if you 
want to have your material returned. 


ONLY 
ON 
DISK 


In addition to the type-in pro- 
grams found in each issue of the 
magazine, Gazette Disk offers bo- 
nus programs. Here's a special 
program that you'll find only on 
this month's disk. 


Bowling Manager 
By Tim Rich 
Austin, TX 


Keeping track of your team's 
weekly bowling scores by hand 
can be a tedious and time-con- 
suming exercise. With Bowling 
Manager, you can use the pow- 
er of your 64 to keep track of a 
team's weekly statistics for an en- 
tire season. 

Once you've entered the 
players’ names, Bowling Manag- 
er lets you enter and edit each 
bowler’s score by name and 
date. You can then see a date- 
by-date listing of your team’s per- 
formance. All statistical data is 
saved to disk for easy retrieval 
and editing. 

Bowling Manager automati- 
cally computes a player's aver- 
age, tracks high and low scores, 
tracks high and low series, and 
more. This is a great program for 
any active bowler. 

You can have this program, 
our PD picks, and all the others 
that appear in this issue by order- 
ing the October Gazette Disk. 
The U.S. price is $9.95 plus 
$2.00 shipping and handling. 
Send your order to Gazette Disk, 
COMPUTE Publications, 324 
West Wendover Avenue, Suite 
200, Greensboro, North Carolina 
27408.